• 韩信点兵


    #include <stdio.h>
    #include <math.h>
    // 算法竞赛的目标是编程对任意输入均得到正确的结果。
    // 请先独立完成,如果有困难可以翻阅本书代码仓库中的答案,但一定要再次独立完成。
    // “抓住主要矛盾”——始终把学习、实验的焦点集中在最有趣的部分。如果直观地解决方案行得通,就不必追究其背后的原理。
    
    /**
    【题目】韩信点兵(hanxin)
    相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人
    一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组
    数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<
    7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。输入到文件
    结束为止。
    样例输入:
    2 1 6
    2 1 3
    样例输出:
    Case 1: 41
    Case 2: No answer
    */
    
    
    /**
    【分析】定义总数n,循环处理,n>=10,n<100。只要有第一个值,就输出。
    */
    
    
    int main()
    {
        int n;
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
    
        for (n=10;n<100;n++) {
            if ((n%3==a) && (n%5==b) && (n%7==c)) {
                printf("%d
    ",n);
                break; // 跳出当前最近的循环,对你这个例子来说就是跳出for
            }
        }
    
        if (n==100) {
            printf("No answer
    ");
        }
    
        return 0;
    }
    
    
    

    点评:有时候思路很重要,思路来了,代码就快了。用计算机的思维去解决问题,不是韩信的思维。

    增加多组数据处理。

    #include <stdio.h>
    #include <math.h>
    // 算法竞赛的目标是编程对任意输入均得到正确的结果。
    // 请先独立完成,如果有困难可以翻阅本书代码仓库中的答案,但一定要再次独立完成。
    // “抓住主要矛盾”——始终把学习、实验的焦点集中在最有趣的部分。如果直观地解决方案行得通,就不必追究其背后的原理。
    
    /**
    【题目】韩信点兵(hanxin)
    相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人
    一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组
    数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<
    7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。输入到文件
    结束为止。
    样例输入:
    2 1 6
    2 1 3
    样例输出:
    Case 1: 41
    Case 2: No answer
    */
    
    
    /**
    【分析】定义总数n,循环处理,n>=10,n<100。只要有第一个值,就输出。
    */
    
    int main()
    {
        int n;
        int a,b,c;
    
        while (scanf("%d%d%d",&a,&b,&c) != EOF) { // 多组数据输入处理,Linux中,在新的一行的开头,按下Ctrl-D,就代表EOF(如果在一行的中间按下Ctrl-D,则表示输出"标准输入"的缓存区,所以这时必须按两次Ctrl-D);Windows中,Ctrl-Z表示EOF。
            for (n=10;n<100;n++) {
                if ((n%3==a) && (n%5==b) && (n%7==c)) {
                    printf("%d
    ",n);
                    break; // 跳出当前最近的循环,对你这个例子来说就是跳出for
                }
            }
    
            if (n==100) {
                printf("No answer
    ");
            }
        }
    
        return 0;
    }
    
    
    

  • 相关阅读:
    json转化成实体
    mysql基础知识点三排序分组分页优化
    leetcode4majorityElement
    mysql基础知识点四事务隔离与锁机制
    相应内容格式 gzip
    特殊时间格式转化成date
    20220221_摘抄_一别两宽,各生欢喜
    leetcode数学完美数
    leetocde前缀和
    第五轮算法刷题顺序
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/8533519.html
Copyright © 2020-2023  润新知