原文
题目如下:
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;......其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?
这完全是一个数学问题。
假设这堆桃最初有X个。由第一个猴子吃掉一个,拿走一堆,可知X模5得1,即X=5*a+1.,第一个猴子走后剩下4a个桃子。
由第二个猴子吃掉一个,拿走一堆,可知4a模5得1,即4a=5*i+1,其中i>=0,解这个方程,
4a=5i+1,i>=0,由于a和i都是整数,那么i一定为奇数,否则5i+1为奇数,4a为偶数,左边不等于右边。设i=2*j+1,j>=0,则4a=10*j+6.即2a=5j+3,j一定为奇数,设j=2b+1,b>=0,则有2a=10b+8,即a=5b+4,b>=0。
可得a=5*b+4,其中b>=0,剩下16b+12个桃子。
由第三个猴子吃掉一个,拿走一堆,可知16b+12模5得1,即16b+12=5*j+1,其中j>=0,解这个方程可得b=5*c+4,其中c>=0,依次类推。
第四个猴子,得到c=5*d+4,d>=0;第五个猴子,得到d=5*e+4,e>=0。
由上得到a=5a+1=25b+21=125c+121=625d+621=3125e+3121, e>=0。
因此这堆桃至少有3121个。
假如有N个猴子,那么计算最少的桃子数目程序如下:
- int i=1;
- int sum=0;
- while(i<N)
- {
- sum=5*sum+4;i++;
- }
- sum=5*sum+1;
此时的sum即为最少的桃子数目。
分享到:
相关推荐
Java 经典算法问题:五只猴子分桃子解题源码,此问题描述为:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。 第二只猴子把剩下的桃子又...
利用labVIEW进行编写的小程序 猴子吃桃子的问题 10天里猴子一共吃了多少个桃子呢
ACM上面的题目。算法很巧妙,在OJ上AC了,有兴趣的可以下载看看
有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。采用链式数据结构实现上述求解。
跳一跳,猴子摘桃子h5小游戏,跳一跳,猴子摘桃子h5小游戏,跳一跳,猴子摘桃子h5小游戏,跳一跳,猴子摘桃子h5小游戏,跳一跳,猴子摘桃子h5小游戏,跳一跳,猴子摘桃子h5小游戏,跳一跳,猴子摘桃子h5小游戏,跳一...
猴子吃桃子问题。有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。要求:1)采用数组数据结构实现上述求解;2)采用...
# 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了...
猴子吃桃子问题数据结构课程.doc
五只猴子采得一堆桃子,猴子彼此约定隔天早起后再分食。不过,就在半夜里,一只猴子偷偷起来,把桃子均分成五堆后,发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来,又把桃子均分成五堆后,还是多了...
猴子吃桃子问题-数据结构课程设计.doc
【python每日一练-猴子摘桃子】.pdf
猴子第一天摘下若干桃子,当即吃了一半,不过瘾又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃了前1天剩下的一半,再多一个。到第十天早上想吃时,见只剩下一个桃子了。
java代码-猴子吃桃子
猴子吃桃#include int main() { int days = 10; // 总共的天数 int peaches = 1; // 第十天剩下的桃子数量 // 从第九天开始逆推,计算每天剩下的桃子数量 for (int i = days - 1; i >= 1; i--) { peaches = ...
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾, //又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 //以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时, //...
有5只猴子共有一堆桃,约好一起分享。第一只猴子来到后把桃平均分成5堆后还剩下一个,就吃了这一个并搬走了5堆中的一堆。第二猴子来到后不知道前一只猴子已经拿走了,它把4堆桃合在一起又平均分成5堆后,也剩下一个...
甲、乙、丙3个猴子带着21个篮子去摘桃子。回来以后,发现有7个篮子装满了桃子,还有7个篮子装了半篮桃子,另外7个篮子是空的。假设7个满篮中桃子的重量都相同为a千克,7个半篮中桃子的重量也相同为b千克。在不将桃子...
# 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,...
python游戏猴子如何吃桃子
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,就只剩一个桃子了。求第一...