您的位置:首页 > Web前端 > JavaScript

问题 K: 超级楼梯(JSU-ZJJ)

2018-01-13 20:21 260 查看
题目描述

有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

要求递归调用本函数

int calcStep(int n);

// 计算步数函数,n为输入的整数

输入

输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。

输出

对于每个测试实例,请输出不同走法的数量

样例输入

2

2

3

样例输出

1

2

#include<stdio.h>
int calcStep(int a[],int m)
{
int i;
for (i=4; i<=m; i++)
a[i]=a[i-1]+a[i-2];
return a[m];
}
int main()
{
int t,m;
int a[41];
a[1]=0;
a[2]=1;
a[3]=2;
scanf("%d",&t);
while(t--)
{
scanf("%d",&m);
printf("%d\n",calcStep(a,m));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言