游客 Signup | Login
中文 | En

1944 - 超级台阶

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

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


Input

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

Output

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

Examples

Input

2
3

Output

1
2

Solution 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;
}

Solution 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;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题