题目:
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,
多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的
桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,
第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
#include <stdio.h>
int main(void)
{
int last=1; /* 设最后一次取1个 */
int start=0;
int count=1;
int i,sum;
while(count < 5){ /* 循环4次 */
start = last;
for(i=0;i<4;i++){
sum = start*5+1; /* 第一次桃子的总数,从第5次开始 */
if(sum%4 != 0){ /* 如果不能整除4就不能推理出上次桃子的分数,叠加桃子数重新开始循环 */
last++;
count=1; /* 循环计数器次数重置为1 */
break;
}
start = sum/4; /* 可以求出上次桃子的个数 */
count++;
}
};
printf("%d\n",start*5+1);
return 0;
}
输出3121