韩信点兵(C语言实现)

题目描述

相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。

输入

输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。

输出

输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。

输入示例

2 4 5

输出示例

41

代码实现

#include <stdio.h>
int main()
{
    
    
    int n=0,i,a,b,c,sign;
    while(scanf("%d",&sign) == 1 && sign){
    
    
        scanf("%d%d%d",&a,&b,&c);
        n++;
        if(a<3 && b<5 && c<7){
    
    
            for(i=10;i<=100;i++){
    
    
                if(i%3==a && i%5==b && i%7==c){
    
    
                    printf("Case %d:%d\n",n,i);
                    break;
                }
                else{
    
    
                    if(i==100)
                        printf("Case %d:No answer\n",n);
                }
            }
        }
        else
            printf("Case %d:No answer\n",n);
    }
    return 0;
}

参考https://blog.csdn.net/weixin_42128813/article/details/81183511

猜你喜欢

转载自blog.csdn.net/FENG_YU_YI/article/details/113153963