#include <stdio.h>
/捕鱼和分鱼:A、B、C、D、E五个人在某夜合伙捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A第一个醒来,他将鱼分为5份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼
分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。问他们台伙
至少捕了多少条鱼?每个人醒来时见到了多少鱼?《C语言入门很简单》第136页习题。(马磊等编著)/
int main(void)
{
int a, b, c, d, e; //分别用a,b,c,d,e来代表A,B,C,D,E五个人醒来时所见到的鱼的条数(为了对应)。
for(a=6; ;a++) // A第一个醒来,看到的鱼至少应该是6,才能分成5份,把多出的1条扔掉。因此 a=6。
{
b=(a-1)/5 * 4; //a是A看到的鱼, 所以a-1除以5,再乘上4,就是B醒来看到的鱼。下面以此类推。
c=(b-1)/5 * 4;
d=(c-1)/5 * 4;
e=(d-1)/5 * 4;
if(a%5==1 && b%5==1 && c%5==1 && d%5==1 && e%5==1)
{
printf("五人至少合伙捕了 %d 条鱼。\n", a);
printf("每个人醒来时见到的鱼:A=%d B=%d C=%d D=%d E=%d\n", a, b, c, d, e);
break;
}
}
return 0;
}