猴子搬香蕉問題。

2021-06-16 00:13:06 字數 639 閱讀 4155

看了很多文章。好像分析的不是很清楚。只好自己動手了。

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

其實不然,本題關鍵點在於:猴子搬箱子的過程其實分為兩個階段,第一階段:來回搬,當香蕉數目大於50根時,猴子每搬一公尺需要吃掉三根香蕉。第二階段:香蕉數《=50,直接搬回去。每走一公尺吃掉1根。

我們分析第一階段:假如把100根香蕉分為兩箱。一箱50根。

第一步,把a箱搬一公尺,吃一根。

第二步,往回走一公尺,吃一根。

第三步,把b箱搬一公尺,吃一根。

這樣,把所有香蕉搬走一公尺需要吃掉三根香蕉。

這樣走到第幾公尺的時候,香蕉數剛好小於50呢?

100-(n*3)<50 && 100-(n-1*3)>50

走到16公尺的時候,吃掉48根香蕉,剩52根香蕉。這步很有意思,它可以直接搬50往前走,也可以再來回搬一次,但結果都是一樣的。到17公尺的時候,猴子還有49根香蕉。這時猴子就輕鬆啦。直接揹著走就行。

第二階段:

走一公尺吃一根。

把剩下的50-17=33公尺走完。還剩49-33=16根香蕉。

猴子搬香蕉問題的思考

猴子要搬香蕉回家,每走一公尺都要吃乙個香蕉,猴子可搬動50個香蕉一次,離家50公尺,現在一共有100個香蕉,問共可以拿到家多少個香蕉 當它有超過50個時,搬50個走一公尺把剩下的放下再回頭搬其它的過來,每走一公尺要吃到3個香蕉 當它只有不到50個香蕉時就不用回頭,直接搬著香蕉,走著吃著回去即可 如果...

猴子與香蕉

題目描述 一組研究人員正在設計乙個測試猴子iq的實驗。他們把香蕉吊在屋頂上,同時給猴子提供了磚塊。如果猴子夠聰明,它會把磚塊乙個個疊起來做成乙個塔,然後爬上去拿到自己喜愛的食物。研究人員有n種不同的磚塊,而且每種磚塊都是取之不盡的。每種磚塊都是長方體,第i種磚塊的大小是 xi,yi,zi 磚塊能夠翻...

猴子摘香蕉

房內有乙個猴子,乙個箱子,天花板掛了一串香蕉,其位置如圖所示。猴子為了拿到香蕉,它必須把箱子搬到香蕉下面,然後再爬到箱子上。請定義必要的謂詞,列出問題的初始化狀態 即下圖所示狀態 目標狀態 猴子拿到了香蕉,站在箱子上,箱子位於位置b 1 定義描述環境狀態的謂詞 at x,y x在y處 x y hol...