费波那西数列,又译费波拿契数、斐波那契数列、费氏数列、黄金分割数列。
在数学上,费波那西数列是以递归的方法来定义:
用文字来说,就是费波那西数列由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