天天看点

递归 斐波那契数列

代码出处:https://blog.csdn.net/bbirdsky/article/details/8964560

  • 斐波那契数列(Fibonacii)又称 黄金分割数列 是指 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 可以发现斐波那契数列是指从第三位开始 ,每一位数都等于前两位数之和。
  • 代码实现:
import java.util.Scanner;

public class Fibonacii {
	//递归算法实现
	public static int fibonacii(int n){
		
		if(n<=2){
			return 1;
		}else{
			return fibonacii(n-1) + fibonacii(n-2);
		}
		
	}
	
	//递推算法实现
	public static int fibonaciiNormal(int n){
		if(n<=2)
			return 1;
		int n1 = 1, n2 = 1, sn= 0;
		for(int i=0; i<n-2; i++){
			sn = n1 + n2;
			n1 = n2;
			n2 = sn;
		}
		return sn;
	}
	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入正整数n:");
		int n = scanner.nextInt();
		System.out.println(fibonacii(n)+" "+fibonaciiNormal(n));
		//输出20次
		for(int i=1; i<20; i++){
			fibonacii(i);
			System.out.print(fibonacii(i)+"   ");
		}
	}
}

           

继续阅读