【问题描述】楼梯有n阶台阶,上楼可以一步上1阶,也可 以1步上2阶,输入n的值,编程计算n阶台阶总共有多少走法. 【问题分析】设出一个函数count(n),有n阶台阶则有count(n)种走法,如果最后一步走两阶,则是count(n-2)种走法,如果最后一步走一阶,则有count(n-1)种走法; 所以count(n)=count(n-1)+count(n-2),即为斐波那契数列
#include <stdio.h>
int func(int n);
int main()
{
printf("n=:");
scanf("%d",&n);
printf("Result=%d", func(n));
return 0;
}
int func(int n)
{
if (n == 1)
{
return 1;
}
else if (n == 2)
{
return 2;
}
else
{
return func(n - 1) + func(n - 2);
}
}