這是原始code:
https://ideone.com/IT7YmY
https://ideone.com/IT7YmY
為了將給定的函數轉換為遞迴函數,我們需要找到函數 x(n) 和 x(n-1) 之間的關係。原始的迭代版本在每個步驟中將 a 更新為 a * (i – 1) + i。要用遞迴重寫它,我們要確定基本情況(遞迴的終點)和遞迴步驟(函數如何逼近基本情況)。
觀察原始代碼,當 n = 1 時,a 的值應該是1(因為迴圈只會執行一次)。所以 x(1) 返回1可以作為基本情況。
遞迴步驟應該使用 x(n-1) 來計算 x(n),我們可以推導出 x(n) = x(n-1) * (n – 1) + n。現在讓我們將這個函數重寫為遞迴形式。
重寫為遞迴函數的 x(n) 的程式碼如下:

用5作為示例輸入,此遞迴函數的結果是129。這與原始迭代函數的結果相匹配。因此,您現在可以使用這個遞迴函數來計算給定 n 值的結果。
這是改成遞迴版本的code:
https://ideone.com/ZbLn0F
点点赞赏,手留余香
给TA打赏
評論0