遞迴和非遞迴方式實現不同的問題

2021-08-29 02:39:38 字數 1157 閱讀 2654

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

#include int fun(int n,int k)     //求n的k次方

else

return sum;

}int main ()

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

#include int digitsum(int n)

return sum;

}int main ()

編寫乙個函式reverse_string(char * string)(遞迴實現) 

實現:將引數字串中的字元反向排列。 

要求:不能使用c函式庫中 的字串操作函式。 

#include char * reverse_string(char *p)

if( n > 1)

return q;

} int main()

遞迴和非遞迴分別實現strlen 

非遞迴

#includeint my_strlen(char *str)

return count;

} int main()

遞迴

#includeint my_strlen(char *str)

int main()

遞迴和非遞迴分別實現求n的階乘 

非遞迴

#include int fac(int n)

return ret;

}int main()

遞迴

#include int fac(int n)

else

}int main()

遞迴方式實現列印乙個整數的每一位 

#include void print(int n)

printf("%d ", n%10);

}int main()

遞迴和非遞迴實現漢諾塔問題

漢諾塔 又稱河內塔 問題其實是印度的乙個古老的傳說。開天闢地的神勃拉瑪 和中國的盤古差不多的神吧 在乙個廟裡留下了三根金剛石的棒,第一根上面套著64個圓的金片,最大的乙個在底下,其餘乙個比一 個小,依次疊上去,廟裡的眾僧不倦地把它們乙個個地從這根棒搬到另一根棒上,規定可利用中間的一根棒作為幫助,但每...

C 使用遞迴和非遞迴方式實現BFS和DFS

c 使用遞迴和非遞迴方式實現bfs和dfs include include include using namespace std int visiteddfs 5 int visitedbfs 5 int count dfs 0 int count dfs 0 int count bfs 0 in...

單鏈表反轉 非遞迴 遞迴方式實現

鍊錶的翻轉是程式設計師面試中出現頻度最高的問題之一,常見的解決方法分為遞迴和迭代兩種。最近在複習的時候,發現網上的資料都只告訴了怎麼做,但是根本沒有好好介紹兩種方法的實現過程與原理。所以我覺得有必要好好的整理一篇博文,來幫忙大家一步步理解其中的實現細節。我們知道迭代是從前往後依次處理,直到迴圈到鏈尾...