费波那西数列,又译费波拿契数、斐波那契数列、费氏数列、黄金分割数列。
在数学上,费波那西数列是以递归的方法来定义:
用文字来说,就是费波那西数列由0和1开始,之后的费波那西系数就由之前的两数相加。
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………
0不是第一项,而是第零项。
public class Fib {
    
    public static void main(String[] args) {
        for(int i = 1;i < 21; i++){
            System.out.print(fib(i) + "\t");
        }
        System.out.println("\r");
        for(int i = 1;i < 21; i++){
            System.out.print(fibonacci(i) + "\t");
        }
    }
    
    /**
     * 递归方式
     */
    public static int fibonacci(int n){
        if(n <= 2)
            return 1;
        return 
            fibonacci(n-1)+fibonacci(n-2);
    }
    
    /**
     * 循环方式
     */
    public static int fib(int n) {
        if (n <= 2) {
            return 1;
        }
        int result = 0;
        int a = 0, b = 1;
        for (int i = 1; i < n; i++) {
            result = a + b;
            a = b;
            b = result;
        }
        return result;
    }
}
运行结果:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
                    
                



                
            
        
浙公网安备 33010602011771号