計蒜客 題庫 爬樓梯

2022-05-03 08:27:11 字數 629 閱讀 3297

題目

假設你現在正在爬樓梯,樓梯有 n級。每次你只能爬 1級或者 2級,那麼你有多少種方法爬到樓梯的頂部?

第一行輸入乙個整數 n(1≤n≤50),代表樓梯的級數。

輸出爬到樓梯頂部的方法總數。

樣例輸入

5

樣例輸出

8

思路

每次只能爬1或者2級,也就是說可以從前n-1、n-2兩級任意一級到達n級,那麼到達第n級的總數就是前兩級的和,有點斐波拉契的意思

**

#includeusing

namespace

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 取模的結果。輸入格式 第一...