斐波那契走楼梯

题目描述

NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。
但年幼的他一次只能走上一阶或者一下子蹦上两阶。
现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法。

 

输入描述:

输入包括多组数据。每组数据包括一个整数n, (1≤n≤90)。



输出描述:

对应每个输入包括一个输出。
为redraiment到达第n阶不同走法的数量。

 

输入例子:

1
2

 

输出例子:

1
2
#include <iostream>

using namespace std ;

int main()

{

    int i,n;

    long long unsigned int m[ 90 ];

    m[ 0 ]= 1 ,m[ 1 ]= 2 ;

    for (i= 2 ; i< 90 ; i++){

        m[i]=m[i- 1 ]+m[i- 2 ];

    }

    while ( cin >>n){

        cout <<m[n- 1 ]<< endl ;

    }

    return 0 ;

}

我的代码 没有考虑到取值范围 

#include <stdio.h>

#include <iostream>

using namespace std;



 int fib(int n)

{

    if(n==1||n==2)

        return 1;

    return fib(n-1)+fib(n-2);

}



int main (){

    int n;

    

    while(scanf("%d",&n),n)

        {

         int sum =fib(n+1);

        printf("%d\n",sum);

       

    }

    return 0;

}

 

你可能感兴趣的:(斐波那契走楼梯)