上N阶楼梯,一次可以走两阶或一阶,问有多少种上楼方式。
正整数N,1<=N<=30
样例输入
6
样例输出
13
#include<stdio.h>
int main(void){
int n,m1,m2,i,m;
scanf("%d",&n);
if(n==1)
printf("1");
else if(n==2)
printf("2");
else if(n==3)
printf("3");
else if(n>3&&n<=30){
for(i=3,m1=1,m2=2,m=0;i<=n;i++){
m=m1+m2;
m1=m2;
m2=m;
}
printf("%d",m);
}
}
上楼方式数构成的数列实际上是一个斐波那契数列。