ABCDE五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,将鱼分为5份,把多余的1条鱼扔掉,拿走自己的1份。B第二个本来,也将鱼分5份,把多余的1条鱼扔掉,拿走自己的1份。CDE依次醒来,也按同样的方法拿鱼。问他们合伙至少捕了多少条鱼?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n, i, x, flag = 1; /*flag:控制标记*/
for (n = 6; flag; n++) /*采用试探的方法。令试探值n逐步加大*/
{
for (x = n, i = 1 && flag; i <= 5; i++)
if ((x - 1) % 5 == 0) x = 4 * (x - 1) / 5;
/*若不能分配,则设置标记falg=0,表示退出分配过程*/
else flag = 0;
/*若分配过程正常结束,则找到分配结果,并退出试探过程*/
if (flag) break;
else flag = 1; /*否则继续试探下一个数*/
}
printf("Total number of fish catched=%d\n", n); /*输出结果*/
system("pause");
return 0;
}