递归--练习1--noi3089爬楼梯
递归--练习1--noi3089爬楼梯
一、心得
根据输入,是要写连续输入多个值的程序
二、题目
3089:爬楼梯
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数
例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级
也可以第一次走两级,第二次走一级,一共3种方法。 - 输入
- 输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30
- 输出
- 不同的走法数,每一行输入对应一行输出
- 样例输入
-
5 8 10
- 样例输出
-
8 34 89
三、AC代码
1 //noi3089爬楼梯 2 /* 3 递推表达式 4 f(n)=f(n-1)+f(n-2) 5 f(1)=1; 6 f(2)=2 7 */ 8 /* 9 根据输入,是要写连续输入多个值的程序 10 */ 11 #include <iostream> 12 #include <cstdio> 13 using namespace std; 14 int f(int n){ 15 if(n==1) return 1; 16 if(n==2) return 2; 17 else 18 return f(n-1)+f(n-2); 19 } 20 int main(){ 21 int n; 22 while(scanf("%d",&n)!=EOF){ 23 int ans=f(n); 24 cout<<ans<<endl;; 25 } 26 27 return 0; 28 }