假设你现在正在爬楼梯,楼梯有 n 级。每次你只能爬 1 级或者 2 级,那么你有多少种方法爬到楼梯的顶部?
输入格式
第一行输入一个整数 n(1≤n≤50),代表楼梯的级数。
输出格式
输出爬到楼梯顶部的方法总数。
样例输入
5
样例输出
8
#include<stdio.h>
#include<stdlib.h>int fb(long int n)
{
long int p = 1;
long int q = 2;
if (n == 1)
return 1;
else if(n == 2)
return 2;
else
{
for(int i = 3; i <=n; i++)
{
long int tmp = p;//将第一个值p赋给tmp
p = q; //将第二个值q赋给p,以后每一次赋值都将得到的最新的F(n)赋给p,从后面语句可//以看出,q储存的为最新的F(n)
q = tmp + q;
}
return q;
}
}
int main()
{
int b;
scanf("%d",&b);
printf("%ld",fb(b));
return 0;
}