问题1:兔子问题_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 问题1:兔子问题

问题1:兔子问题

 2013/8/29 0:55:18  elihe2011  程序员俱乐部  我要评论(0)
  • 摘要:问题:有一对兔子,从出生后第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)publicclassFibonacci{publicstaticvoidmain
  • 标签:问题
问题:有一对兔子,从出生后第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;
	}
}
发表评论
用户名: 匿名