C 遞迴學習筆記

2021-10-02 20:29:24 字數 776 閱讀 9209

這篇筆記是對慕課上郭煒老師的c++課程自己的總結,方便日後複習

重點:將問題分解為規模更小的子問題解決

如:1.爬樓梯問題,乙個人每次走1級或2級,輸入樓梯級數求不同的走法數

n級台階走法 = 先走一級後,n-1級的台階走法 + 先走兩級後,n-2級台階走法f(n) = f(n-1) + f(n-2)

完整**:

#include

using

namespace std;

int n;

intstairs

(int n)

intmain()

return0;

}

2.放蘋果問題,將m個相同的蘋果放進n給相同的盤子裡有多少種放法

設i個蘋果放在k個盤子裡放法總數是f(i,k),則:

k > i時,f( i , k ) = f( i , i )

k <= i時,總放法=有盤子為空的放法+沒盤子為空的放法,f( i , k ) = f( i , k-1 ) + f( i-k , k )

#include

using

namespace std;

intf

(int m,

int n)

intmain()

return0;

}

c 學習筆記 16 遞迴

遞迴 能夠解決那些難以用簡單迴圈解決的問題 例如 八皇后問題,階乘 遞迴函式 呼叫自身的函式 1.階乘 0 1 1!1 n n n 1 n 1 n 1 n 2 假設函式factorial n 為求n 如果呼叫到n 0的情況,函式直接返回結果,函式知道如何求解最簡單的情形,稱之為基本情況或者 停止條件...

C 學習筆記之 過載 遞迴

string person 1 alina 注意string是引用型別 string person 2 person 1 這時候指向同乙個空間person 2 catty 這時候person 2新開了乙個新的空間,跟person 1不是乙個空間了 string本質是乙個char型別一維陣列 對cha...

C 學習筆記之 過載 遞迴

string person 1 alina 注意string是引用型別 string person 2 person 1 這時候指向同乙個空間person 2 catty 這時候person 2新開了乙個新的空間,跟person 1不是乙個空間了 string本質是乙個char型別一維陣列 對cha...