五猴子分桃問題,逆推!

2021-08-20 23:31:23 字數 996 閱讀 1629

題目:海灘上有一堆桃子,五隻猴子來分。第一只猴子把這堆桃子憑據分為五份,多了乙個,這只猴子把多的乙個扔入海中,拿走了乙份。第二隻猴子把剩下的桃子又平均分成五份,又多了乙個,它同樣把多的乙個扔入海中,拿走了乙份,第

三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

畫圖分析

程式分析

五隻猴子分了五次桃子,假設第一只猴子那份桃子的個數為x,桃子的總數:x*5+1,第一只猴子拿走乙份,丟掉乙個後還剩下4份。假設第二隻猴子那份桃子的個數為y,第二次分桃子的總數:4*x=y*5+1 在此基礎上再分5份,拿走乙份,丟掉乙個還剩四份。第三隻猴子那份桃子也是在第二隻猴子剩下的四分裡面再分,到第四只,第五只猴子也是。如果知道了第一只猴子拿走那份桃子的個數x便可以知道所有桃子的總數。x可以由第二隻猴子那份桃子y*5+1/4=x,y可以從第三隻猴子那裡求出,第四次猴子求出第三隻猴子桃子的個數,第五只猴子求出第四只猴子拿走桃子的個數。可以假設第一只猴子那份桃子為1開始計算,不滿足繼續增加,一直到滿足為止。

int lastpart = 1; //最後那只猴子拿到的那份桃子數,

int onepart = 0; //通過最後那份桃子推理出第乙份的桃子數,

intcount = 1; //迴圈的次數,設定為條件。一共要迴圈4次

while(count

<5)

onepart=allpeach/4; //可以求出上次桃子的個數

count++; //疊加計數器

}console.writeline("最少有"+(onepart*5+1)+"個桃子");

執行結果

SDUT 1232 猴子分桃 逆推

time limit 1000ms memory limit 65536k 有疑問?點這裡 老猴子辛苦了一輩子,給那群小猴子們留下了一筆巨大的財富 一大堆桃子。老猴子決定把這些桃子分給小猴子。第乙個猴子來了,它把桃子分成五堆,五堆一樣多,但還多出乙個。它把剩下的乙個留給老猴子,自己拿走其中的一堆。第...

猴子分桃問題

五隻猴子分桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆 其他幾隻猴子也都是 這樣分的。問 這堆桃至少有多少個?設桃子總數為s,第一只猴子分...

猴子分桃問題

5只猴子分一堆桃子,怎麼也不能分成5等份,只好先去睡覺,準備第二天再分。夜裡1只猴子偷偷爬起來,先吃掉1個桃子,然後將其分成5等份,藏起自己的乙份就去睡覺了 第2只猴子又爬起來,吃掉1個桃子後,也將桃子分成5等分,藏起自己的乙份睡覺去了 以後的3只猴子都先後照此辦理。問最初至少有多少個桃子?倒過來想...