码迷,mamicode.com
首页 > 其他好文 > 详细

(二)猴子分桃问题

时间:2016-08-02 06:32:19      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。
于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把
四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一
堆;......其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?

 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!