2022-1-17 每日一题 NewCoder KY95 Old Bill(旧账单)

题目描述:


链接:https://www.nowcoder.com/practice/17a30153e092493e8b4d13f321343927

解题思路:

对缺省的两个数字,使用两重循环遍历0-9,由于取最贵的火鸡单价,所以循环从后往前。使用flag跳出循环,如果没有结果,则输出0。

代码如下:

#include<iostream>
#include<cstdio>

using namespace std;

int main()
{
    int n,x,y,z,i,j;
    bool flag;
    while(cin >> n){
        cin >> x >> y >> z;
        int p = x*1000+y*100+z*10;//part of number
        flag = true;
        for(i = 9; i >= 1; --i){
            for(j = 9; j >= 0; --j){
                int num = i*10000+p+j;
                if(num%n == 0){
                    printf("%d %d %d\n", i, j, num/n);
                    flag = false;
                    break;
                }
            }
            if(!flag) break;
        }
        if(flag){
            printf("0\n");
        }
    }
    return 0;
}
posted @ 2022-01-17 23:59  Jane8  阅读(91)  评论(0)    收藏  举报