问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析:斐波那契数列,又称黄金分割数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以
递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
实现代码(大数据时使用BigInteger)
class="java" name="code">
public class Fibonacci {
public static void main(String[] args) {
System.out.println(sum(40));
}
private static long fibonacci(long n) {
if (n <= 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
private static long sum(long n) {
long sum = 0;
for (long i = 1; i <= n; i++) {
sum += fibonacci(i);
}
return sum;
}
}