69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
void main()
{
int sum, i;
for (sum = 0; sum < 10000; sum++) /*sum用来遍历各数寻找符合条件的最小整数*/
{
for (i = 0; i < 5; i++) /*执行5次循环判断sum是否符合条件*/
{
if (sum % 5 == 1) /*如果桃子的数量平均分成5分且剩下1个就执行*/
sum = sum - (sum / 5) - 1; /*猴子取走一份且扔掉一个后剩下的桃子数*/
else /*不符合第一个条件就结束该层的循环*/
break;
}
if (i == 5) /*当循环完5次就表示该数sum符合条件,从而输出*/
printf("最小的数目是:%d\n", sum);
break; /*输出最小数后就中止该循环,不再遍历各数*/
}
}
#include<stdio.h>
int main()
{
int sum, i, peachs;
for (peachs = 0; peachs < 10000; peachs++)
{
sum = peachs;
for (i = 0; i < 5; i++)
{
if (sum % 5 == 1)
sum = sum - (sum / 5) - 1;
else
break;
}
if (i == 5) { /*加上大括号*/
printf("最小的数目是:%d\n", sum);
break;
}
}
return 0;
}
参考一下吧。
当算出最小数目的桃子时就要break出去,所以当i == 5时才要break;所以这个也是为什么一直没有输出,因为当sum == 0时,就break出外循环了。
int sum = 1;
for (int i = 0; i < 5; i++)
{
sum = (sum * 5 + 1);
}