标签:
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。 于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把 四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一 堆;......其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?
1 #include<stdio.h>
2 int main(void)
3 {
4 int i=0,m=1,x=1; // 开始设桃子的个数为x且初始值为1,m算每次分桃后的个数,自然没分桃的时候也是m
5 while(1)
6 {
7 m=x;
8 for(i=0;i<5;i++) // 分桃子分了五次
9 {
10 if((m-1)%5==0) // 正好拿去一个能平均分成五份
11 m=(m-1)*4/5; // 剩下m,用来下一次分桃
12 else
13 break; // 不满足则跳出for循环
14
15 }
16 if(i==5&&m>=6) // 如果 i==5并且m>=6,跳出 while循环,
17 break;
18 x++; // x 每次加 1,知道有个数满足上面的种种条件为止
19
20 }
21
22 printf("%d \n",x); // 输出结果为 x= 3121
23
24 }
标签:
原文地址:http://www.cnblogs.com/shengruxiahua/p/5727820.html