牛客网 斐波那契数列

题目:

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项,n<=39。

斐波那契数列:

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........ 斐波那契数列 这个数列从第3项开始,每一项都等于前两项之和。

思路:

利用递归的方式,当n=1或者n=2时,输出都是1;从第三项开始,是前两项的和。

代码:

public class Solution {
    public int Fibonacci(int n) {
        if(n==0){
            return 0;
        }
        if(n==1||n==2){
            return 1;
        }
        return (Fibonacci(n-2)+Fibonacci(n-1));        
    }
}

在我写的过程中,我漏掉了n=0的情况,这时出现编译错误:请检查是否存在语法错误或者数组越界非法访问等情况

经验分享 程序员 微信小程序 职场和发展