一、数列的规律:略
二、第一种实现方式
递归(性能非常不好,n=45就需要5秒左右,再大更差)
public static long fibonacci(int n) {
if (n <= 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
三、第二种实现方式
循环(速度很快,注意for循环参数i)
public static long fibonacci2(int n) {
long before, behind = 0, result = 1;
if (n <= 0) {
return 0;
} else if (n == 1) {
return 1;
}
for (int i = 1; i < n; i++) {
before = behind;
behind = result;
result = before + behind;
}
return result;
}