爬樓梯問題

2021-07-10 22:36:51 字數 972 閱讀 3710

蒜頭君自從春節回來以後,體重就像加了特技一樣duang~duang~地暴增起來。於是小蒜頭打算每天爬樓梯來燃燒體內的脂肪(咦?蒜怎麼會有脂肪=.=)。蒜頭在爬樓梯的時候腦洞大開,因為蒜頭腿短,爬樓梯的時候一次只能邁1級或2級台階,它就想到了,假如一共有n級台階的話,它一共有多少種方法能夠爬到樓梯頂部呢?  聰明的你快來幫幫小蒜頭吧~建議你使用動態規劃求解哦,直接搜尋是會超時的^o^  輸入格式:     第一行輸入乙個數n(n<=50),代表樓梯的級數。  輸出格式:     第一行輸出你的方法總數。  樣例1  輸入:  5 輸出:  8

這裡假設總共8級樓梯,開個陣列stairs[8],預設值為0,

假如我們最後走到第八級,那麼依據題意可以從

第六級也可以從第七級走到第八級,那麼走到第八級的

總的方法就是走到第六級的方法加上走到第七級的方法,

而走到第六級的方法可以由第四級和第五級得到,第七級可以

由第五級和第六級得到,依次類推,第**可以由第一級和第二級

得到,所以可以推出這個式子,stairs[i] = stairs[i-1] + stairs[i-2];

而第一級和第二級可以馬上看出來分別為1種和2種方法,所以

馬上的每個台階的方法數就可以根據這個推出來的式子求解了

#include"iostream"

using namespace std;

int main()

; stairs[0] = 1;

stairs[1] = 2;

for(int i = 2; i < 50; i++)

int num;

cin>>num;

cout<

return 0;

}

爬樓梯問題

ok,前段時間在一篇blog上看到乙個關於樓梯的面試題,大概內容如下 現有乙個人,規定他上樓梯時只能一步走乙個台階或者兩個台階。要求 給定任意樓梯的階數,求共有多少種方法爬完樓梯。如果有經驗可以看出,這是一道遞迴的題目。不過這個遞迴 程式怎麼寫呢?我的思路是可以這樣想,不管他前面 怎麼爬,最後總是要...

爬樓梯問題

爬樓梯問題,每次可以走1步或者2步,爬上n層樓梯的總方法,這題就是乙個變相的fibonacci問題。當n 1時,有1種方法,即直接走1步 當n 2時,有2方法 連續走2步,或直接走兩步 對於n,設f n 為總方法,則 f n f n 1 f n 2 ps f n 1 即第一次走一步的走法,f n 2...

爬樓梯問題

有乙個若干階樓梯台階,每次爬只能爬1階或者2階,問有多少種爬法?首先分析一下簡單情況,每種樓梯對應的爬樓種類 假設n階樓梯的爬法為f n 那麼f n f n 1 f n 2 於是我們可以推理得出乙個公式,如下 最後用 實現一下,現在估計大家都會寫了,就不贅述了,如下。public intclimbs...