c语言编程序:韩信点兵,韩信有一队伍,你想知道有多少人,就让士兵报数,按从1至5报数,最末一个士兵报的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程序:韩信点兵,韩信有一队伍,你想知道有多少人,就让士兵报数,按从1至5报数,最末一个士兵报的相关的知识,希望对你有一定的参考价值。

韩信点兵不是按3人一排,5人一排,7人一排吗?如果是这样的话
# include<stdio.h>

int main()

int n,a,b,c;
scanf("%d%d%d",&a,&b,&c);
for(n=10;n<=200;n++)

if (n%3==a && n%5==b && n%7==c)

if(n<=100)

printf("%d",n);
break;

else

printf("No answer");



参考技术A #include<stdio.h>
int main()
int x=1;
while ( x%5!=1 || x%6!=5 || x%7!=4 || x%11!=10 )
x++;
printf("%d",x);
参考技术B 约瑟夫环
用循环链表实现
参考技术C 用中国剩余定理计算 参考技术D 5

韩信点兵

/*
    韩信点兵
    相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队
    形,而他每次只掠一眼队伍的排尾就知道总人数了。输入多组数据,每组数据包含3个非负整数a,b,c,表示每种
    队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100.输入
    到文件结束为止。
*/
# define LOCAL
#include<stdio.h>
#include<time.h>

int main(){
#ifdef LOCAL
    freopen("data.in","r", stdin);
    freopen("data.out","w", stdout);
#endif // LOCAL

    int a, b, c;
    int peoples, cases=0;
    while(scanf("%d %d %d", &a, &b, &c) == 3){
        cases++;

        peoples = -1;
        for(int i = 10; i < 100; i++){
            if((i % 3 == a) && (i % 5 == b) && (i % 7 == c)){
                peoples = i;
            }
        }
        if(peoples > 0){
             printf("Case %d: %d\n", cases, peoples);
        } else {
            printf("Case %d: No Answer\n", cases);
        }
    }

    return 0;
}
/*
[input]
2 1 6
2 1 3

[output]
Case 1: 41
Case 2: No Answer
*/

  

以上是关于c语言编程序:韩信点兵,韩信有一队伍,你想知道有多少人,就让士兵报数,按从1至5报数,最末一个士兵报的的主要内容,如果未能解决你的问题,请参考以下文章

关于大一的C语言问题,韩信点兵。。

C语言,韩信点兵编程,看看我的错在哪?

韩信点兵 ACM 代码问题。

韩信点兵 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排五人一排七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾

用Java编程解决韩信点兵的问题?

韩信点兵