C語言基礎 二 遞迴 recursion

2021-08-30 20:31:50 字數 449 閱讀 1295

乙個問題採用遞迴方法來解決,必須符合三個條件。

(1)可以把這個問題轉化為乙個新的問題,而這個新問題的解決方法與原問題的方法相同,只是處理的物件不同,但它們也只是有規律的遞增或遞減。

(2)可以通過轉化過程使問題得以解決。

(3)必須有個終止遞迴的條件。

n個盤子,a,b,c三根針,要求借助b,將a針上的n個盤子移動到c上,n個盤子大小不等,且大的在下,小的在上。

解決的步驟可以分為兩類操作:

(1)將n-1個盤子從乙個針移動到另乙個針上(n>1)。

(2)將乙個盤子從乙個針移動到另乙個針上。

#include void move(char source,char target)

void hanoi(int n,char one,char two,char three)

}void main()

C語言基礎 14 遞迴

函式可以呼叫自己,這就叫函式的遞迴。先序遞迴和後序遞迴 include void test int n void test1 int n void main void test int n void test1 int n 有n個人排成一隊,問第 n個人多少歲,他回答比前面乙個人大 2歲,再問前面乙...

C語言基礎 二

迴圈 for int i 1 i 100 i 迴圈示例 1.for int i 0 i 9 i for int j 0 j i j printf n 2.倒三角for int i 5 i 0 i printf n 2.函式 void 自定義函式應該在主函式內呼叫 函式宣告 的位置必須在主函式之上 對...

c語言基礎(二)

目錄 識別符號的定義規則 三數比大小 判斷閏年 指標基礎 插入排序 只能是字母,數字,和下劃線,並且開頭不能用數字 賦值表示式跟賦值語句的區別 表示式沒有分號,賦值語句有分號 邏輯運算子的優先順序順序 includeint main if a c if b c printf d d d a,b,c ...