題目:樓梯一次可以爬1級,也可以爬2級,有n級樓梯,有多少種走法?
看到此題首先找出規律
1 走到第1級,有1種方法
2 走到第2級,有2種方法
3 走到第3級,有3種方法
4 走到第4級,有5種方法
5 走到第5級,有8種方法
以此類推,後面的總等於前面兩級方法之和,
現在使用遞迴和遞推兩種方法解決本問題
利用遞迴實現
#include int climb(int pos)
int main()
利用遞推實現,編譯時注意要加上 -std=c99
#include int main()
{ int size;
printf("please input:");
scanf("%d", &size);
int stair[size];
stair[0] = 1;
stair[1] = 2;
for(int i=2; i
遞推解決爬樓梯問題
每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1 階 1 階 1 階 1 階 2 階 2 階 1 階 思...
爬樓梯問題總結 (遞推)
有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?首先題目限制只能走一級或者兩級,所以逆向思考一下,要到達n級樓梯,只有兩種方式,從 n 1 級 或 n 2 級到達的。所以可以用遞推的思想去想這題,假設有乙個陣列s n 那麼s 1 1 由於一開始就在第一級,...
爬樓梯(遞迴)
4017 爬樓梯描述 樹老師爬樓梯,他可以每次走1級或者2級,輸入樓梯的級數,求不同的走法數。例如 樓梯一共有3級,他可以每次都走一級,或者第一次走一級,第二次走兩級也可以第一次走兩級,第二次走一級,一共3種方法。輸入輸入包含若干行,每行包含乙個正整數n,代表樓梯級數,1 n 30 輸出不同的走法數...