斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
public class Fibonacci {
public static void main(String[] args) {
int n = 1;
System.out.println(fibonacci(n) + ":" + fibonacciNormal(n));
}
// 递归实现方式
public static int fibonacci(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 递推实现方式
public static int fibonacciNormal(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || 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;
}
}