递归基础之爬楼梯
时间: 1ms 内存:64M
描述:
树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数, 求不同的走法数
例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一 级,第二次走两级,也可以第一次走两级,第二次走一级,一 共3种方法。
输入:
输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出不同的走法数,每一行输入对应一行
输出:
不同的走法数,每一行输入对应一行输出
示例输入:
5
8
10
示例输出:
8
34
89
提示:
参考答案(内存最优[1088]):
#include<stdio.h>
int main()
{
int i,n,k,sum,a,b;
while(scanf("%d",&n)!=EOF)
{
a=1;
b=1;
for(i=0;i<n;i++)
{
sum=a;
a=a+b;
b=sum;
}
printf("%d\n",b);
}
}
参考答案(时间最优[0]):
#include<stdio.h>
int main()
{
int M,N,i,j;
long long int f[48];
while(scanf("%d",&M)!=EOF)
{
f[0]=0;
f[1]=1;
f[2]=2;
f[3]=3;
for(j=4;j<=M;j++)
f[j]=f[j-1]+f[j-2];
printf("%lld\n",f[M]);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。