猴子搬香蕉問題的思考

2021-05-17 20:27:16 字數 401 閱讀 8238

猴子要搬香蕉回家,每走一公尺都要吃乙個香蕉,猴子可搬動50個香蕉一次,離家50公尺,現在一共有100個香蕉,問共可以拿到家多少個香蕉

當它有超過50個時,搬50個走一公尺把剩下的放下再回頭搬其它的過來,每走一公尺要吃到3個香蕉

當它只有不到50個香蕉時就不用回頭,直接搬著香蕉,走著吃著回去即可

如果承重為n,剩餘香蕉為t,當t > n時,把香蕉搬1公尺要消耗 2*(t/n) - 1(如果搬過t/n次之後,只剩下2個或者1個香蕉了,那就要看這猴子是比較饞還是比較懶了,饞就回頭吃乙個把剩下兩個香蕉拿上再吃乙個放地上乙個等於沒回去,懶就拿上香蕉直接走)

當t <= n時拿上香蕉直接走

**都已經寫出來了,突然發現,如何驗證演算法正確性呢,這種辦法是拿到最多香蕉的方法嗎?

感覺這**效率很差,有什麼辦法改進下最好!

猴子搬香蕉問題。

看了很多文章。好像分析的不是很清楚。只好自己動手了。解析 這種試題通常有乙個迷惑點,讓人看不懂題目的意圖。此題迷惑點在於 走一公尺吃一根香蕉,一共走50公尺,那不是把50根香蕉吃完了嗎?如果要回去搬另外50根香蕉,則往回走的時候也要吃香蕉,這樣每走一公尺需要吃掉三根香蕉,走50公尺豈不是需要150根...

php 小公尺筆試題2(搬香蕉問題)

題目 小華去超市買香蕉,他要買好幾箱香蕉,但是她只能拿裝有相同數量香蕉的箱子。她有兩個選擇,1 可以扔掉乙個箱子中任意數量的香蕉。2 扔掉其他香蕉。問她怎麼樣能拿到最多數量的香蕉 8 7 11 29 14 這組香蕉中她能拿到最大的數量為29,因為假如把29減少到14,能拿兩箱14 14 28 29,...

猴子背100根香蕉問題程式實現

問題描述 有只猴子在樹林採了100根香蕉堆成一堆,猴子家離香蕉堆50公尺,猴子打算把香蕉揹回家,每次最多能背50根,可是猴子嘴饞,每背一公尺要吃一根香蕉,問猴子最多能揹回家幾根香 蕉?public class testmonkey else if allcount 0 else 不能整除時,剩下的餘...