韩信点兵算法——c语言实现
今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?这个问题就是韩信点兵.
本来考虑中国剩余定理,也就是将三排剩余数乘以70,五排剩余数乘以21,7排剩余数乘以15,加起来的数就是结果。 但是考虑到可以用枚举:
int main()
{
int a,b,c,kase=
0;
int flag=
1;
while(scanf(
"%d",&a)==
1){
scanf(
"%d",&b);
scanf(
"%d",&c);
int i=
10;
for(i;i<
100;i++)
{
if(i
%3==a&&i
%5==b&&i
%7==c){
printf(
"Case %d :%d\n",++kase,i);
flag=
0;
}
}
if(flag)
printf(
"No answer.\n"`)
flag=1;
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-150192.html