用遞迴寫了幾個小例項。
遞迴如果簡單的話,配合return和?:只有一句話,看著挺震撼的。
int
powinteger
(int base,
int power)
原理也很簡單,如果冪為0就返回1,不為0時利用x^n=x·x ^n-1
當然0的0次冪是錯的
int
leninteger
(int n)
原理:個位數就返回1,否則返回1+去除最低位的長度
條件不能寫成n==0就返回1或者0,不然個位數會出錯。
已知問題:數字中如果有0會被吞掉,原因是0會影響strlen算位數
int
reverse
(int n)
}
standard是用來取最高位數的,是10的長度-1次方。
到個位就返回本身,不然就取下高位和原來的組裝,每次乘以10保證了位數正確。
int
sum(
int*a,
int inf,
int sup)
這個挺好理解的。
inf是下標的下確界,sup是下標的上確界。
int
max(
int*a,
int inf,
int sup)
inf是下標的下確界,sup是下標的上確界。
如果區間只有1個數,返回自己。
如果區間只有兩個數,比大小後返回較大的那個。
不然返回端點值和去掉端點值後的陣列中的最大值的較大值。。
遞迴和迭代 迭代與遞迴
很多程式設計小白都會遇到 迭代 和 遞迴 的問題 包括我自己 大部分同學還是不知道迭代與遞迴的區別。下面我就嘗試用最通俗易懂的模式講解遞迴與迭代的區別。1.迭代 迭代其實很簡單,我們在程式設計中經常用到迭代。比如說 i 1 print i 這個就是乙個迭代,沒想到吧。迭代的意思其實就是在迴圈 現了參...
遞迴與迭代
遞迴與迭代都是基於控制結構 迭代用重複結構,而遞迴用選擇結構。遞迴與迭代都涉及重複 迭代顯式使用重複結構,而遞迴通過重複函式呼叫實現重複。遞迴與迭代都涉及終止測試 迭代在迴圈條件失敗時終止,遞迴在遇到基本情況時終止。使用計數器控制重複的迭代和遞迴都逐漸到達終止點 迭代一直修改計數器,直到計數器值使迴...
遞迴和迭代
遞迴和迭代是兩種常用的演算法,很多人知道怎麼寫遞迴和迭代,但是不知道什麼時候該用遞迴,什麼時候該用迭代。下面的 分別通過使用遞迴和迭代計算fibonacci數列,可以很清楚的看到效率的驚人差別。當然,很難有個準則說什麼時候該用遞迴,什麼時候該用迭代,但有乙個很簡單的判斷方法 如果你的遞迴呼叫是在函式...