文章

10

粉丝

143

获赞

3

访问

54.9k

头像
暴力枚举
推荐阅读
P1274 上海交通大学机试题
发布于2022年3月26日 21:35
阅读数 5.2k

万位从9枚举到1

个位从9枚举到0

找到最大值时则退出循环,输出答案即可

#include <iostream>

using namespace std;
int n;
int x,y,z;
int a,b;

int main()
{
    while(cin>>n)
    {
        cin>>x>>y>>z;
        bool flag=false;
        for(a=9;a>=1;a--)//从大到小枚举万位
        {
            for(b=9;b>=0;b--)//从大到小枚举个位
            {
                if((a*10000+x*1000+y*100+z*10+b)%n==0)//若找到了最大价格 则置flag为true
                {
                    flag=true;
                    break;//退出内层循环
                }
            }
            if(flag) break;//退出外层循环
        }
        if(!flag) cout<<0;//若没找到合适的金额值,则输出0
        else
        {
            int sum=a*10000+x*1000+y*100+z*10+b;
            cout<<a<<" "<<b<<" "<<sum/n<<endl;
        }
    }
    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发