爬楼梯的问题,一次可以爬一阶或者两阶楼梯
一阶楼梯有一种方法:1
两阶楼梯有两种方法:1+1、2
三阶楼梯有三种方法:1+1+1、2+1、1+2
四阶楼梯有五种方法:1+1+1+1、1+2+1、2+1+1、1+1+2、2+2
五阶楼梯有八种方法:1+2+1+1、1+1+1+2、1+1+2+1、2+1+1+1、1+2+2、2+2+1、2+1+2、1+1+1+1+1
依次往下。。。。。。。
#include<stdio.h>
int fb(int n)
{
if (n <= 2)
{
return n;
}
return fb(n - 1) + fb(n - 2);
}
int main()
{
int n = 0;
printf("请输入爬楼梯的层数:");
scanf("%d",&n);
int fab = fb(n);
printf("爬上%d层楼梯有%d种方法\n",n,fab);
return 0;
}
输出结果: