看了小編編寫的遞歸函數(二),我有幾個不理解的地方:(網址:http://www.xianlaiwan.cn/code/5510)如何理解int getPeachNumber(int n)中的num?=?(getPeachNumber(n+1)+1)*2;以及int main()中的int?number?=?getPeachNumber(1);這兩行代碼應該怎樣解釋?
1 回答
已采納

慕粉3491951
TA貢獻12條經驗 獲得超0個贊
遞歸用法首先要假設你的程序已經能實現相應的功能
所以int number = getPeachNumber(1);//傳入實參1,得到第一天桃子的數量
遞歸的實現條件:如果一個問題可以分成幾個小問題,其中一個小問題和原來的問題本質上一樣
遞歸的編寫一般步驟:
編寫語句描述問題的分解步驟(假設遞歸函數已經完成)
在遞歸函數的開頭編寫分支處理無法分解的情況
上例中第n天的桃子數量其實就是第(n+1)天桃子數量+1然后*2的結果
不管哪一天都可以分解成這種情況
然后分解到第10天就無法分解了,因為第10天只有1個桃子
這樣說不知道你能清楚嗎?
- 1 回答
- 0 關注
- 1449 瀏覽
添加回答
舉報
0/150
提交
取消