斐波那契数列

题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39

方法一
递归

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

方法二
遍历

    public int Fibonacci_2(int n) {
    	if(n == 0) {
    		return 0;
    	}
    	else if(n == 1) {
    		return 1;
    	}
    	int[] arr = new int[n + 1];
    	arr[0] = 0;
    	arr[1] = 1;
    	for (int i = 2; i <= n; i++) {
			arr[i] = arr[i - 1] + arr[i - 2];
		}
    	return arr[n];
    }

方法三
不使用数组

    public int Fibonacci_3(int n) {
    	if(n == 0) {
    		return 0;
    	}
    	else if(n == 1) {
    		return 1;
    	}
    	int one = 0;
    	int two = 1;
    	int temp = 0;
    	for (int i = 2; i <= n; i++) {
    		temp = two + one;
			one = two;
			two = temp;
		}
    	return temp;
    }
posted @ 2019-03-18 19:07  如是说  阅读(239)  评论(0编辑  收藏  举报