python学习--兔子问题

问题:

这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?

思路:

这个月的兔子只有两个来源,一个来源是上个月的老兔子,另一个来源是这个月刚出生的兔子,而这个月刚出生的兔子,就是两个月前的所有兔子,因为两个月前的所有兔子,无论两个月前就是老的,还是两个月前刚生的,到了这个月就全部具有生育能力,每只都可以下一对儿,所以可以得到一个递推关系f(n) = f(n - 1) + f(n - 2)。

python实现:
n = int(input("please input month  "))
x = 0
y = 1
if n == 1:
	print(y)
if n > 1:
	for i in range(n-1):
    	m = x + y
    	x, y = y, m
	print(m)

python学习--兔子问题_第1张图片

你可能感兴趣的:(python基础)