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