爬樓梯(遞迴)

2021-08-07 05:00:17 字數 705 閱讀 3840

4017:爬樓梯描述

樹老師爬樓梯,他可以每次走1級或者2級,輸入樓梯的級數,求不同的走法數。例如:樓梯一共有3級,他可以每次都走一級,或者第一次走一級,第二次走兩級也可以第一次走兩級,第二次走一級,一共3種方法。

輸入輸入包含若干行,每行包含乙個正整數n,代表樓梯級數,1 <= n <= 30

輸出不同的走法數,每一行輸入對應一行輸出

樣例輸入

5

810

樣例輸出

8

3489

分析:

假設f(n)為n個台階的走法總數,把n個台階的走法分為兩類:

1. 第一步走1階,剩下還有(n-1)階要走,有f(n-1)種方法;

2. 第一步走2階,剩下還有(n-2)階要走,有f(n-2)種方法;

因此,f(n)=f(n-1)+f(n-2)

邊界條件:f(1)=1; //只有一階台階,只用走一步,一種走法

f(2)=2; //有兩階台階,第一種走法,一次走一步;第二種走法,一次走兩步。

#includeusing namespace std;

int f(int n)//爬n級樓梯的走法數

int main()

{ int n;

while(cin>>n)

{ cout<

爬樓梯 遞迴

題目要求 乙個人爬樓梯,每次可以走一級或者兩級,輸入樓梯級數,求不同的走法數。輸入輸出格式 輸入包含若干行,每行包含乙個正整數n n 30 代表樓梯級數,輸出對應的走法數,每個一行。樣例輸入 58 10樣例輸出 834 89分析 用遞迴將問題分解為規模更小的子問題進行求解。n級台階的走法數 第一步走...

遞迴 爬樓梯

加粗樣式 問題 樹老師爬樓梯,他可以每次走1級或者2級,輸入樓梯的級數,求不同的走法數 例如 樓梯一共有3級,他可以每次都走一級,或者第一次走一 級,第二次走兩級,也可以第一次走兩級,第二次走一級,一 共3種方法。輸入 輸入包含若干行,每行包含乙個正整數n,代表樓梯級數,1 n 30輸出不同的走法數...

python爬樓梯遞迴 爬樓梯(Python3)

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 和 2 階 解題思路 實現了兩種方法,但是第一種超出時間限制 因為遞迴的時候方...