題目描述
假設有n階樓梯,小明一次可以選擇走1階,也可以選擇走2階,問多少種走法。比如有5階台階,共有8種走法。
1 1 1 1 1
1 1 1 2
1 1 2 1
1 2 1 1
1 2 2
2 1 1 1
2 1 2
2 2 1
要求使用遞迴解法。
輸入描述
輸入n,表示n階樓梯,1<=n<=40
輸出描述
輸出樓梯的走法總數。
樣例輸入
5
樣例輸出8
思路分析:
以樣例為例:有5個台階,問一共有多少種走法?
一次可以走1步或2步,故總走法等於3個台階的走法加4個台階的走法。
判斷結束的條件為,如果當前台階只剩0個或1個,那麼別無選擇,返回1;不然的話,繼續遞迴。
**如下:
#include
intstair
(int n)
}int
main()
遞迴 樓梯的走法
題目描述 假設有n階樓梯,小明一次可以選擇走1階,也可以選擇走2階,問多少種走法。比如有5階台階,共有8種走法。1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 2 2 2 1 1 1 2 1 2 2 2 1 要求使用遞迴解法。輸入描述 輸入n,表示n階樓梯,1 n 40 輸出...
關於走樓梯的遞迴演算法
題目 乙個共有20個台階的樓梯,從下面走到上面。一次只能邁乙個台階或兩個台階,並且不能後退,走完這個樓梯共有多少種方法。分析 1 步台階只有1種走法 1 2步台階2種 11 2 3步台階有3種 111 12 21 4 步台階有5種 1111 112 121 211 22 5 步台階有8種 11111...
走樓梯遞迴遞推的演算法總結
走樓梯的演算法總結 1 一次可以走一階或兩階 2 一次可以走一階或兩階或三階 3 一次可以走一階或兩階,最終走偶數步,或者奇數步 兩種實現方式 1 遞迴 2 遞推 1 遞迴的思想 就是乙個問題可以拆分成他的子問題 子問題和原問題有相同的結構 每一次縮小一次問題的規模,規模最小的時候就是遞迴函式的出口...