斐波拉契数列,递归实现

斐波拉契数列

1,1,2,3,5,8……
规律是当前数为前两个数的和。
比如生兔子问题就是这样:第一天只有一个小兔子(1),第二天小兔子长成大兔子并且怀孕(1),第三天大兔子生下一个小兔子(2),第四天小兔子长大前一个大兔子又生下一个小兔子(3),第五天两个成年兔子分别生下了一个兔子,前一天生下的兔子又上大(5)…………
叫求第100天后的兔子数量

// An highlighted block

	public static void main(String[] args) {
	//第七天
		int a = 7;
		int sum = test(a);
		System.out.println(sum);
	}

	private static int test(int a) {
	//判断是否大于1,因为在第一天就是一个
		if (a > 1) {
		//核心代码,对前两天兔子数量求和
			return test(a - 2) + test(a - 1);

		} else if (a == 1) {
			return 1;
		//有一个0,来方便计算第二天的兔子数量
		} else if (a == 0) {
			return 0;
		}
		return -1;

	}

猜你喜欢

转载自blog.csdn.net/qq_49249150/article/details/107571335