1944 - 超级台阶

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

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

注:规定从一级到一级有0种走法。


题目输入

输入数据每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。

题目输出

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

输入/输出样例

输入格式

2
3

输出格式

1
2

C语言解答

#include<stdio.h>
int main()
{
    int m,a[41];
    a[0]=0;
    a[1]=0;
    a[2]=1;
    a[3]=2;
    for(int i=4;i<41;i++)
        a[i]=a[i-1]+a[i-2];
    while(~scanf("%d",&m))
    {
        printf("%d\n",a[m]);
    }
    return 0;
}

C++解答

#include<iostream>

using namespace std;

int fei(int n){
    if(n==1||n==2)
        return 1;
   	return fei(n-1)+fei(n-2);
}

int main(){
    int n;
    while(cin>>n){
        if(n==1)
            cout<<0<<endl;
    	else
        	cout<<fei(n)<<endl;
    }
    return 0;
}