欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

算法竞赛习题2-2韩信点兵

程序员文章站 2024-03-20 09:58:28
...

相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含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

#define LOCAL
#include<stdio.h>
int main()
{
#ifdef LOCAL
freopen("D:\\c++文档\\c文档\\输入输出\\韩信点兵in.txt","r",stdin);
freopen("D:\\c++文档\\c文档\\输入输出\\韩信点out.txt","w",stdout);
#endif // LOCAL

int a,b,c,flag,kase=0;
int x;
//while(scanf("%d%d%d",&a,&b,&c)==1)
//{
for(x=10;x<=100;x++)
{
    if(x%3==a&&x%5==b&&x%7==c)
    {
    flag=1;
    break;
    }
}
if(flag==1)printf("Case %d:%d\n",++kase,x);
if(flag==0)printf("Case %d:No answer.\n",++kase);
//}
return 0;
}
相关标签: c语言 算法