1、Fibonacci sequence

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tfstone/article/details/89963690

问题如下:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

写出该序列 : 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…,可以发现这个数列从第3项开始,每一项都等于前两项之和,以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*);

问题由来:斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列

根据递推公式,编写出求斐波那契数列的递归法:

	public static void main(String[] args) {
		System.out.print("请输入你想知道的兔子对数的月份:");
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		System.out.println("第" + n + "个月兔子总对数为" + f(n));
		s.close();
	}

	static int f(int n) {
		if (n - 1 < 2) {
			return 1;
		}
		return f(n - 1) + f(n - 2);
	}

猜你喜欢

转载自blog.csdn.net/tfstone/article/details/89963690