C的遞迴函式,舉例求乘階,猴子吃桃

2021-08-22 15:13:45 字數 796 閱讀 9801

#include 

int demo(int a)

else

return c;

}int main()

乘階的遞推圖:

遇到遞迴問題需要根據規律解決(引用)。

1、找到所謂的終止條件,即讓遞迴停止的條件

2、找到遞推的關係式

3、遞迴的方向要搞清楚,一般是向最終的終止條件不斷遞迴

4、遞迴 分為回推和遞推兩個階段,當遞推到終止條件時,程式會反向推回(回推)!!!!

遞迴的思路總結:

1.確定遞迴的終止條件和數值

2.找到遞迴的方向,滿足停止條件

3.確定遞迴的公式,簡單驗證公式是否正確的辦法(例如猴子吃桃,公式為 (f(day+1)+1)*2,先思考遞迴到最後的停止條件處,第10天只剩下1個桃子,將1帶入公式 , 也就是f(10) return 回值為1,公式完成停止條件開始進行回推,那麼f(9)=(1+1)*2 第9天所剩桃子等於4滿足條件公式,驗證完成)

猴子吃桃的遞迴問題

程式如下 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...

猴子吃桃的非遞迴和遞迴方法

問題 乙隻小猴子一天摘了許多桃子,第一天吃了一半,然後忍不住又吃了乙個 第二天又吃了一半,再加上乙個後面每天都是這樣吃。到第10天的時候,小猴子發現只有乙個桃子了。問小猴子第一天共摘了多少個桃子。解題思路 1 從第十天剩餘乙個桃子下手 2.用遞迴寫這個函式 因為能從這個題中,可以用大事化小的方法 d...

c 語言 用函式遞迴來實現求 k 的 n 次方

如果求取k的n次方,既可以用普通的方法實現,也可以用函式的遞迴來實現。函式的遞迴即是自己呼叫自己的函式應用形式,即在main函式下定義乙個函式,然後在這個函式內自己為了實現某個目的,函式自身反覆呼叫自己來完成這個目標的形式叫做函式遞迴。因此,這個演算法的思路即是自己呼叫自己,每次實現呼叫函式時 k,...