假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例1:
输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1、 1 阶 + 1 阶
2.、2 阶
示例2:
输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。
1、1 阶 + 1 阶 + 1 阶
2、1 阶 + 2 阶
3、2 阶 + 1 阶
#include <stdio.h>
int taijie(int n)
{
int a=1,b=1,c=0;
if(n<2)
return;
while(n>=2)
{
c=a+b;
a=b; b=c;
n--;
}
return c;
}
void main()
{
int n;
int num=0;
printf("请输入有多少个台阶:");
scanf("%d",&n);
num=taijie(n);
printf("有%d种跳法\n",num);
}