1.方法又在方法中呼叫了自己
2.分類:
直接遞迴:自己的方法呼叫自己
間接遞迴:自己的方法呼叫別的方法,別的方法呼叫自己
3.遞迴的三要素:
遞迴的終結點(指的是完成遞迴演算法結束的條件)
遞迴的公式(利用自己的數學知識寫出遞迴的公式)
遞迴的方向:必須走向終結點
4.案例:猴子有若干個桃子,每天吃桃子總數的一半並且多乙個,等到第五天發現最後只剩下乙個桃子,問猴子原來一共有多少個桃子
分析:終結點:第五天之後只有乙個桃子說明結束條件為f(5)=1;
公式:前一天桃子數量為f(x)則第二天數量則為f(x+1),根據題意得出他們之間的關係為f(x+1)=f(x)-f(x)/2-1,整理可得f(x)=2f(x+1)+2,根據第五天桃子的數量遞迴求得第一天桃子的數量
則對應的**為
public
class
recursiondemo
public
static
intf
(int x)
else}}
執行結果為 46
若有錯誤,望批評指正,希望與大家一起** 遞迴演算法 猴子吃桃
題目 猴子第一天摘下若干個桃子,當即吃了一半,還不過癮就多吃了乙個。第二天早上又將剩下的桃子吃了一半,還是不過癮又多 吃了乙個。以後每天都吃前一天剩下的一半再加乙個。到第10天剛好剩乙個。問猴子第一天摘了多少個桃子?分析 這個題目體現了演算法思想中的遞迴和遞推思想,不過一般遞迴和遞推演算法是可以轉化...
猴子吃桃問題 php,趣味演算法 猴子吃桃問題
簡明現代魔法 c c 趣味演算法 猴子吃桃問題 趣味演算法 猴子吃桃問題 2010 05 26 猴子第一天摘下若干桃子,當即吃了一半,還不過癮,又多吃了乙個。第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第10天早上想再吃時,見只剩下乙個桃子了。求第一天...
猴子吃桃的遞迴問題
程式如下 include int total int k if k 10 total n 1 else total n total k 1 1 2 return total n int main int total total total 1 printf 猴子總共桃子數 d n total ret...