30 當主程式呼叫下列函數,並設定引數 n=5 時,該函數傳回的值為: &nbs..-阿摩線上測驗
4F
|
5F
|
6F 御安 大三上 (2022/03/03)
使用費氏數列與遞迴的觀念: 當電腦計算到,ans = f(n-1)+f(n-2)時, 第一次的結果會是:ans=f(4)+f(3) 但是由於f()還未定義, 所以return 一個ans=f(5)當作臨時答案, 同時電腦也判斷了一個新定義:f(n)=f(n-1)+f(n-2)。 接下來電腦還不能將答案輸出, 因為f(4)跟f(3)還未定義。 而依照新生成的公式,f(4)跟f(3)可以進行定義。 接下來就是公式推導:f(4)=f(3)+f(2),f(3)=f(2)+f(1)… 總之就是一直推下去直到變成f(1)跟f(0) (可以去參考別人樓寫的), 而依照程式的內容, 最後我們可以知道f(1)=1;f(0)=1, 至此電腦就知道了所有定義可以進行推導了。 最後電腦再將這些答案進行總結得出了:ans=f(5)=f(4)+f(3)=f(3)+f(2)+f(2)... 查看完整內容 |