练习7--斐波那契数列

2017-10-14  本文已影响0人  莫小西0213

题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
思路:1、递归 ; 2、采用数组存历史数据; 3、不用数组存储

1、递归(推荐)来自:http://blog.csdn.net/sinat_34967445/article/details/76752882
     int fib(int n)  
{  
    if (n == 0)  
        return 0;  
    else if (n == 1)  
        return 1;  
    return fib(n - 1) + fib(n - 2);  
}
2、采用数组存历史数据
public class Solution {
public static int Fibonacci(int n) {
        int[] arr=new int[40];
        arr[0]=0;
        arr[1]=1;
        for(int i=2;i<=n;i++){
            arr[i]=arr[i-1]+arr[i-2];
        }
        return arr[n];
    }
}
3、不用数组存储
public class Solution {
public static int Fibonacci(int n) {
        if(n==0)
            return 0;
        if(n==1)
            return 1;
        int f0=0;
        int f1=1;
        int f2=0;
        for(int i=2;i<=n;i++){
            f2=f1+f0;
            f0=f1;
            f1=f2;
        }
        return  f2;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读