题解 | Old Bill

Old Bill

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

#include <iostream>
using namespace std;
int main() {
    int n, x, y, z, k,
        l; //k,l分别是两边模糊的数字,n是火鸡的数量,xyz是中间三位数字
    int sum, per; //sum:n只火鸡的总价格 ;per:每只火鸡的价格
    int found = 0;
    while (scanf("%d", &n) != EOF) {
        if (n > 0 && n < 100) {
            scanf("%d %d %d", &x, &y, &z);
        }
        sum = k * 10000 + x * 1000 + y * 100 + z * 10 +
              l; //sum 计算位置问题:sum 的计算应该放在内层循环中,因为 k 和 l 的值在每次循环中都会改变。
        for (int k = 9; k > 0; k--) {
            //从大到小遍历第一个模糊字
            for (int l = 9; l >= 0; l--) {
                //从大到小遍历最后一个模糊字
                sum = k * 10000 + x * 1000 + y * 100 + z * 10 + l;
                if (sum % n == 0) {
                    per = sum / n;
                    printf("%d %d %d\n", k, l, per);
                    found = 1;
                    break;
                }
            }
            if (found == 1) {
                break;
            }
        }
        if(!found)
          printf("0\n");

    }

    return 0;
}

// 64 位输出请用 printf("%lld")

王道机试指南 文章被收录于专栏

这个专栏是参考王道机试指南中相关的练习题哦

全部评论

相关推荐

头像
04-17 09:29
已编辑
湖南农业大学 后端
睡姿决定发型丫:本硕末9也是0offer,简历挂了挺多,只有淘天 美团 中兴给了面试机会,淘天二面挂,美团一面kpi面,中兴一面感觉也大概率kpi(虽然国企,但一面0技术纯聊天有点离谱吧)
点赞 评论 收藏
分享
Volatiled:对方撤回了啥呀?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务