第一只猴子把这堆桃子凭据分为五份,

作者&投稿:长兴咸 (若有异议请与网页底部的电邮联系)
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只~

c语言的基本案例吧




题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只
猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,
问海滩上原来最少有多少个桃子?
1.程序分析:
2.程序源代码:
main()
{int i,m,j,k,count;
for(i=4;i<10000;i+=4)
{ count=0;
m=i;
for(k=0;k<5;k++)
{
j=i/4*5+1;
i=j;
if(j%4==0)
count++;
else
break;
}
i=m;
if(count==4)
{printf("%d
",count);
break;}
}
}

7楼death_boy的解法很棒,一开始没看懂,尝试理解了一下:
假设最初香蕉的数量为:x,一定存在一个数:y,使得x+y=m,m能够被5整除且减去m/5后,仍旧能被5整除,如此能被整除5次(第5只猴子发现拿走),
m必定是5的倍数,最小是5^5
即 x+y=m=5^5;只要知道y的值,就能知道x的值,即x=5^5-y
m是最小值,x确定的情况下,y要尽可能小,所以y的值从1开始遍历,代码如下
using System;namespace Fivemonkey{ class Program { static void Main(string[] args) { int n = 5; int x; Program a = new Program(); for (int y =1; ; y++) { x = (int)Math.Pow(n, n) - y; if (a.getRight(x)) { Console.WriteLine(y); Console.WriteLine(x); break; } } Console.ReadKey(); } public bool getRight(int n)//方法:判断这个数是否满足5只猴子的分法 { int j=0; while (n % 5 == 1) { ++j; n = n - n / 5 - 1; } if (j < 5) { return false; } else { return true; } } //下面是一般方法 /* static void Main(string[] args) { int n = 5; int x; Program a = new Program(); for (int i =1; ; i++) { x = (int)Math.Pow(n, n) - i; if (a.getRight(x)) { Console.WriteLine(i); Console.WriteLine(x); break; } } Console.ReadKey();*/ } } }输出结果:y=4,x=3121
相对于遍历x(一般方法),遍历y的次数少很多
————————————————————————————
补充:7楼直接得出y=4 ,可以这样思考,只有剩下的香蕉是5的倍数才不余,要保证剩下是5的倍数,必须拿走的也是5的倍数,如果总是余1,也就是一开始就欠4个,导致后面总是需要从5中借4(想象将香蕉5个组成一个单元的铺开)
如此推论余2 欠8 余3欠12 余4欠16
我们甚至可以求任意数猴,扔任意香蕉数的方法

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

我们假设最后每个猴子得到一个桃子,那么第五个猴子看到桃子时应该有1*5+1=6个
第四个猴子看到桃子时应该有6*5+1=31个
第三个猴子看到桃子时应该有31*5+1=156个
第二个猴子看到桃子时应该有156*5+1=781个
第一个猴子看到桃子时应该有781*5+1=3906个
所以桃子最少有3906个

我数学不好不会算,呵呵

不明白问什么?可否提具体点?


一只猴子摘了一堆桃子,第一天吃了这堆桃子的7分之1,第二天吃了余下的...
第二天吃了剩下的六分之一 剩下原来这堆桃子的七分之六的六分之一 实际上剩下(6\/7)*(1-(1\/6)) =5\/7 七分之五 第三天吃了剩下的五分之一 实际上剩下(5\/7)*(1-(1\/5)) =4\/7 七分之四 第四天吃了剩下的四分之一 实际上剩下(4\/7)*(1-(1\/4)) =3\/7 七...

一只猴子摘了一堆桃子。第一天它吃了这堆桃子的1\/7,第二天它吃了余下...
第六天它吃余下桃子的1\/2,这时还剩下12个桃子,说明第六天共有24个;第五天吃了1\/3,说明24是2\/3,第五天共有36个;第四天吃了1\/4,说明36是3\/4,第四天共有48个;第三天吃了1\/5,说明48是4\/5,第三天共有60个;第二天吃了1\/6,说明60是5\/6,第二天共有72个;第一天吃了1\/...

一只猴子摘了一堆桃子,第一天吃了它吃了这堆桃子的1\/7,第2天吃了余下...
1-1\/7)*1\/6=1\/7,【第一天后余下的是总数的1-1\/7,而第二天吃了余下的1\/6】,同理可知,第三天、第四天、第五天、第六天分别吃了桃子总数的1\/7,所以最后剩下的12个桃子,就是桃子总数的1-1\/7*6=1\/7,所以猴子第一天和第二天分别吃了12个桃子,这两天一共吃了24个桃子。

1只猴子摘了一堆桃子,第一天吃了这堆桃子的 1 7 ,第二天吃了余下的桃...
5 × 7 6 ,=24× 7 2 ,=84(个);第一天吃了:84× 1 7 =12(只);第二天吃了(84-12)× 1 6 =12(只);12+12=24(只);答:第一天和第二天猴子所吃桃子的总数是24只;故答案为:24.

一只猴子摘了一堆桃子,第一天吃了这堆桃子的二分之一,以后三天每天吃了...
设原有桃子X个 第一天吃了X\/2个,剩下X\/2个 第二天吃了X\/4个,剩下X\/4个 第三天吃了X\/8个,剩下X\/8个 第四天吃了X\/16个,剩下X\/16个 X\/16=12 所以 X=192 猴子第一天和第二天共吃了X\/2+X\/4=144只桃子 这是我在静心思考后得出的结论,如果能帮助到您,希望您不吝赐我...

有一堆桃子,第一只猴子把它平均分成4堆,还多一个,它先吃掉一个,拿4堆...
最少时 第四只猴子分成4堆之后,1堆1个 它来之前,有1×4+1=5个 第三只猴子分成4堆之后,1堆5个 它来之前,有5×4+1=21个 第二只猴子分成4堆之后,1堆21个 它来之前,有21×4+1=85个 第一只猴子分成4堆之后,1堆85个 它来之前,有85×4+1=341个 原来最少341个 ...

一只猴子摘了一堆桃子,第一天它吃了这堆桃子的17;第二天它吃了余下桃...
=12×2×32×43×54×65×76,=84(只);第一天吃:84×17=12(只),第二天吃:(84-12)×16=12(只),第三天吃:(84-12-12)×15=12(只),因此前三天猴子所吃桃子的总数是:12×3=36(只);答:前三天猴子所吃桃子的总数是36只.故答案为:36.

一只猴子摘了堆桃子,第一天吃了这堆桃子的5分之1,第二天它吃了余下桃...
第三天:12÷(1-1\/2)=24个 第二天:24÷(1-1\/4)=32个 第一天:32÷(1-1\/5)=40个 答:共有40个

...3个分一堆剩2个,5个8个分一堆都剩3个。这堆桃子至少多少个?要过程...
这堆桃子假设有x个。[3个分一堆剩2个], 那么说明(x-2)可以被3整除;[5个8个分一堆都剩3个]说明(x-3)可以同时被5和8整除,也就是5和8的公倍数,即40的倍数。其实,如果(x-3)是40的倍数,那么:(x+37)=(x-3)+40 也是40的倍数;而 由于x-2是3的倍数,39也是3的倍数 因此(x...

一只猴子摘了一堆桃子,第一天吃了这堆桃子的17,第二天吃了余下的16...
桃子的总数:12÷(1-12)÷(1-13)÷(1-14)÷(1-15)÷(1-16)÷(1-17)=12÷12÷23÷34÷45÷56÷67=12×2×32×43×54×65×76=84(只)答:这只猴子摘得一堆桃子共有84只.

大城县18918735588: 第一只猴子把这堆桃子凭据分为五份, -
城童盐酸: 题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 我们假设最后每个猴子得到一个桃子,那么第五个猴子看到桃子时应该有1*5+1=6个 第四个猴子看到桃子时应该有6*5+1=31个 第三个猴子看到桃子时应该有31*5+1=156个 第二个猴子看到桃子时应该有156*5+1=781个 第一个猴子看到桃子时应该有781*5+1=3906个 所以桃子最少有3906个

大城县18918735588: 猴子分桃算法
城童盐酸: 晕死,问题都不发,咋个回答? 是不是这个问题:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃又平均分成五份,又多了一个,它同...

大城县18918735588: 猴子分桃问题海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把... -
城童盐酸:[答案] 试试这个: public static void main(String[] args){ int peaches; for(int i=1;;i++){ if(i%5==1){ peaches=(i-1)/5*4; if(peaches%5==1){ peaches=(peaches-1)/5*4; if(peaches%5==1){ peaches=(peaches-1)/5*4; if(peaches%5==1){ peaches=(peaches-1)/5*4; ...

大城县18918735588: 求问一道数学题,请说明详细的解题方式,海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海... -
城童盐酸:[答案] 设第五只猴子拿走n个 第五只猴子分之前有:5n+1(个) 第四只猴子分之前有:(5n+1)*5/4+1 =25/4n+9/4(个) 第三只猴子分之前有:(25/4n+9/4)*5/4+1 =125/16n+61/16(个) 第二只猴子分之前有:(125/16n+61/16)*5/4+1 =625/64n+...

大城县18918735588: 海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只有五只猴子采了一堆桃,一只猴子半夜醒来,把桃分五份,多一个,... -
城童盐酸:[答案] 逆推法 设最后每分1个,多1,那么是6 那么第4次是6*5+1=31 第3次是31*5+1=156 第2次156*5+1=781 第1次781*5+1=3906

大城县18918735588: java海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个 -
城童盐酸: public class MonkeyTest {public static void main(String[] args) {int sum=0;int cnt=0;outer:for(int i=6;i<10000;i++){sum=i;cnt=0;for(int j=0;j<5;j++){if(sum%5==1){sum=sum-((sum/5)+1);cnt++;if(cnt==5){System.out.println(i);break outer;}...

大城县18918735588: 海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 -
城童盐酸:[答案] int main(){\x09int i = 0,m = 1,x = 1;\x09while(1)\x09{\x09\x09m = x;\x09\x09for(i = 0; i解析看不懂?免费查看同类题视频解析查看解答更多答案(1)

大城县18918735588: 海滩上有一堆桃子,5只猴子来分.第一只猴子把这堆桃子平均分 为5份,多了一个,这只猴子把多的一个扔入海中, -
城童盐酸: //i=最后一个拿走的桃子数量for(int i=1;i<1000;i++){//最后一堆桃子数量=i*5+1if((i*5+1)%4==0){//倒数第二堆int i2=(i*5+1)/4*5+1;if(i2%4==0){//倒数第三int i3=i2/4*5+1;if(i3%4==0){//倒数第四int i4=i3/4*5+1;if(i4%4==0){//倒数第五int i5=i4/4*5+1;System.out.println("最后一个拿走桃子数为:"+i);System.out.println("桃子数为:"+i5);}}}}}

大城县18918735588: 有5个猴子共有一堆桃子.第一个猴子回来,把桃子平均分作五份,剩余一个,于是它把这1/5和这1个拿走了. -
城童盐酸: 解:如果多给4个桃子,则5只猴子每次都恰好可以均分且没有剩余 设多给4个后共有A个桃.第一只取走后剩下:A*4/5;第二只取走后剩下:A*4/5*4/5;第三只取走后剩下:A*4/5*4/5*4/5;第四只取走后剩下:A*4/5*4/5*4/5*4/5:第五只取走后剩下:A*4/5*4/5*4/5*4/5*4/5=A*1024/3125 因为A*1024/3125一定是整数,所以A最少是3125 所以原来的桃子最少有:3125-4=3121(个) 到第五只猴子时,这堆桃子还剩1280个 江苏吴云超解答 供参考!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网