遞迴實現n k和digitSum n

2021-07-16 07:02:08 字數 506 閱讀 8023

之前一直對遞迴不太熟悉,不明白遞迴的原理,經過這兩道題,有點理解遞迴本質就是乙個出棧入棧的過程,不過具體實現還需要進一步學習。

首先題目如下:

1.編寫乙個函式實現n^k,使用遞迴實現

2.寫乙個遞迴函式digitsum(n),輸入乙個非負整數,返回組成它的數字之和,例如,呼叫digitsum(1729),則應該返回1+7+2+9,它的和是19。

分析過程由下圖可說明:

**如下:

#include int pownk(int n, int k)

int digitsum(unsigned int num)

int main()

遞迴思想和實現

1.大問題可以分解為乙個個模式相同的小問題,即有遞迴一般式 2.有遞迴結束條件,不能陷入死迴圈 3.深度在當前系統能承受的範圍內,遞迴深度過深會爆棧 優化重複計算問題,用把計算過的值快取起來 很典型的例子,斐波那契數列 function fibonacci n 讀取快取資料if this cache...

遞迴和非遞迴分別實現strlen

遞迴和非遞迴分別實現strlen 來計算字串長度。方法一 遞迴 1 鍵入要求的字串 2 判斷字串是否為空,為空返回0 不為空返回strlen a 1 1 a 1表示字串後移一位 1表示字串長度 1 3 列印結果 方法二 1 鍵入要求的字串 2 判空,空則返回0 不為空則迴圈,count自增 3 列印...

折半查詢遞迴和非遞迴實現

折半查詢,在此做一總結,遞迴和非遞迴實現如下所示 1 data增序排列3 非遞迴折半查詢 4int binarysearch int data,int keyvalue,int len 15return 1 16 1718 遞迴折半查詢 19int binarysearchrecursion int...