古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对?
1.这是一个斐波那契数列,第三个数等于前两个数之和
规律为1,1,2,3,5,8,13,21....
2.定义变量,第一个数,第二个数,第三个数,都会随着月数的变化而变化
我服了,求职遇到一道面试题,非要用python写,网上找一圈没有找到python的,全是java,难道现在真的是java的天下吗?不说了,上干货:
def tuzi(numb):
a = 1
b = 1
c = numb - 2
for i in range(numb):
if c > 0:
a = a + b
c -= 1
if c == 0:
print(a)
break
else:
b = b + a
c -= 1
if c == 0:
print(b)
break
tuzi(16)
打印出来是987
递归
def tuzi(numb):
if numb <= 2:
return 1
else:
return tuzi(numb-1)+tuzi(numb-2)
print(tuzi(16))
打印出来是987
本文探讨了一道关于兔子繁殖的数学问题,该问题涉及到斐波那契数列。通过两种不同的Python实现方式,展示了如何计算每月兔子的总数。递归和循环两种方法得出的结果均为987,证明了算法的正确性。

5191

被折叠的 条评论
为什么被折叠?



