斐波那契数列求解


Fibonacci.java

/**
 *	斐波那契数列求解
**/
class Fibonacci{
	public static void main(String[] args){
		for(int i = 1; i < 30; i++){
			System.out.println("fibonacci(" + i + ") = " + fibonacci(i));
			System.out.println("fibonacci_01(" + i + ") = " + fibonacci_01(i));
		}
		
	}
	
	//迭代求解
	public static int fibonacci(int n){
		if(n < 1){
			return -1;	
		}
		if(n <= 2){
			return 1;	
		}
		int res = 0;
		int first = 1;
		int second = 1;
		for(int i = 3; i <= n; i++){
			res = first + second;
			first = second;
			second = res;
		}
		return res;
	}
	
	//递归求解
	public static int fibonacci_01(int n){
		if(n <= 2){
			return 1;	
		}
		return fibonacci_01(n-1)+fibonacci_01(n-2);
	}
}


猜你喜欢

转载自blog.csdn.net/liu_zhen_wei/article/details/39316713