2021 2 8 C語言 函式的遞迴呼叫

2021-10-13 05:32:15 字數 557 閱讀 1022

【例7.6】 有5個學生坐在一起,問第五個學生多少歲,他說比第4個學生大2歲,問第4個學生歲數,他說比第3個學生大2歲,問第3個學生年齡,他又說比第2個學生大2歲,問第2個學生,他說比第1個學生大2歲,最後問第1個學生,他說他是10歲,請問第五個學生多大?

解題思路:要求出第五個學生的年齡,就要先知道第四個學生的年齡,而要求出第四個學生的年齡就必須先求出第三個學生的年齡,而想要求出第三個學生的年齡就要先知道第二個學生年齡,而第二個學生的年齡取決於第乙個學生的年齡,並且每乙個學生都比前乙個學生大2歲,即:

age(5)=age(4)+2;

age(4)=age(3)+2;

age(3)=age(2)+2;

age(2)=age(1)+2;

age(1)=10;

可以用數學公式進行如下表述:

age(n)=10 n=1

age(n)=age(n-1)+2 n≥2

所以可以編寫如下程式求出第五個學生的年齡:

#include int main() int age(int n)

分享知識,分享快樂!?

C語言函式的遞迴

1.遞迴條件 採用遞迴方法來解決問題,必須符合以下三個條件 1 可以把要解決的問題轉化為乙個新問題,而這個新的問題的解決方法仍與原來的解決方法相同,只是所處理的物件有規律地遞增或遞減。說明 解決問題的方法相同,呼叫函式的引數每次不同 有規律的遞增或遞減 如果沒有規律也就不能適用遞迴呼叫。2 可以應用...

c語言函式 遞迴

函式的遞迴可以簡單的理解為迴圈,但他和迴圈是不一樣的。函式的一次遞迴呼叫相當於一次迴圈。一般情況下,迴圈要比遞迴計算的時間要快一些 函式的遞迴是在函式內呼叫自己,滿足限制條件後,就會返回到上乙個函式,知道返回到最初的函式 遞迴的呼叫條件 1 限制條件 滿足這個條件,遞迴將不再進行。2 每次的遞迴呼叫...

C語言 函式的遞迴呼叫

1 可以把要解決的問題轉化為乙個規模較小的新問題,而這個新問題的解決方法仍與原來的解決方法相同。2 必定要有乙個明確的結束遞迴的條件。總而言之,可歸納為 遞迴呼叫過程 兩個階段 遞推階段 將問題不斷地分解為新的子問題,逐漸從未知的向已知的方向推測,最終達到已知的條件,即遞迴結束條件,這時遞推階段結束...