您的位置:首页 > 编程语言 > C语言/C++

Arithmetic_ 上楼梯的走法

2016-07-28 20:48 288 查看
在刚刚过去的2015的圣诞节,周妹妹收到很多很多的礼物,心情特好,再加上没有节制地大吃大喝,体重一下子疯涨到52kg。她决定从今天开始通过爬楼梯来锻炼身体。楼梯共有N级台阶,上楼的时候可以一步上一级台阶,也可以一步上两级台阶。请你帮她编个程序,计算共有多少种不同的走法。输入文件中有很多行,每行是一个测试数据,只包含一个正整数N。要求计算出对应的走法并输出,每个结果占一行。
Sample Input
1
3
12
Sample Output
1
3
233
此题的解题模型是斐波那契竖列,当n=1时,只有一种走法,当n=2时,有两种走法,第一种是每次走一个台阶,第二种是一次走两个台阶,当n>2,我们可以从后往前算,最后一步可以是走一个台阶,还可以是走两个台阶,所以有function(n-1)+function(n-2)种。
#include<stdio.h>
int function(int n)
{
if(n==1) return 1;
else {
if(n==2) return 2;
else
if(n>2)
return function(n-1)+function(n-2);
}
return 0;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",function(n));
}
return 0;
}
如有问题,欢迎指出==
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息