題目
假設你現在正在爬樓梯,樓梯有 n級。每次你只能爬 1級或者 2級,那麼你有多少種方法爬到樓梯的頂部?
第一行輸入乙個整數 n(1≤n≤50),代表樓梯的級數。
輸出爬到樓梯頂部的方法總數。
樣例輸入
5
樣例輸出
8
思路
每次只能爬1或者2級,也就是說可以從前n-1、n-2兩級任意一級到達n級,那麼到達第n級的總數就是前兩級的和,有點斐波拉契的意思
**
#includeusingnamespace
std;
long
long num[51
];long
long solve(int
n)
if (n == 2
)
if (num[n] != 0
)
return num[n]=solve(n - 1) + solve(n - 2);}
intmain()
使用陣列num儲存每一級的總數,避免重複計算導致的超時
計蒜客第16題 爬樓梯
假設你現在正在爬樓梯,樓梯有n級。每次你只能爬1級或者2級,那麼你有多少種方法爬到樓梯的頂部?格式 第一行輸入乙個數n n 50 代表樓梯的級數。接下來一行輸出你的方法總數。樣例1 輸入 5 輸出 8 很容易想到這道題可以用遞迴的方法 分析 假設從底走到第n級的走法有f n 種,走到第 級有兩個方法...
蒜頭君爬樓梯(1) 計蒜客
目錄 題目 題解 蒜頭君很喜歡爬樓梯,但是蒜頭君腿不夠長,每次蒜頭君最多只能一步跨越兩個階梯。比如他初始在樓底,跨越乙個階梯到達 1號階梯,或者跨越兩個階梯到達 2號階梯。如下圖 為了選出一種最輕鬆的爬樓梯的方式,蒜頭君想把所有不同的到達樓頂的方式都嘗試一遍。對於一共有 n 個階梯的樓梯,蒜頭君一共...
蒜頭君爬樓梯(2) 計蒜客
目錄 題目 題解 1 號階梯,或者跨越 3個樓梯到達 3號階梯。如下圖 為了選出一種最輕鬆的爬樓梯的方式,蒜頭君想把所有不同的到達樓頂的方式都嘗試一遍。對於一共有 n 個階梯的樓梯,蒜頭君一共有多少總方法從樓底到達樓頂。由於最後答案可能很大,輸出最後的答案對 100007 取模的結果。輸入格式 第一...