【项目-爬楼梯】 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法?
【参考解答(递归法)】 基础:楼梯有一个台阶,只有一种走法(一步登上去);两个台阶,有2种走法(一步上去,或分两次上去); 递推:有n个台阶时,设有count(n)种走法,最后一步走1个台阶,有count(n-1)种走法;最后一步走2个台阶,有count(n-2)种走法。于是count(n)=count(n-1)+count(n-2)。 可见,此问题的数学模型竟然是斐波那契数。
#include<stdio.h>
int main()
{
unsigned long count(
int n);
int n;
unsigned long m;
printf(
"请输入楼梯的阶数:");
scanf(
"%d",&n);
m=count(n);
printf(
"有%lu种爬楼梯的方法\n",m);
return 0;
}
unsigned long count (
int n)
{
unsigned long f;
if(n==
1)
f=
1;
else if(n==
2)
f=
2;
else
f=count(n-
1)+count(n-
2);
return(f);
}
相关资源:c语言 贪吃蛇 实验报告 ppt