1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 兔子生育问题·斐波那契数列·python

兔子生育问题·斐波那契数列·python

时间:2018-11-01 02:09:20

相关推荐

兔子生育问题·斐波那契数列·python

小明考试非常好,妈妈为了奖励小明,给一对刚刚出生的兔子,

兔子可以经过四个月,可以长大称为成年的兔子,可以生育新的兔子,

假设成年兔子,每个月生一对小兔子,问,第n个月共有多少对兔子(加上兔子不死)

———————————————————————————————————————————

前4月不变

小兔子长大

五:11111111111111(+4)

五到正无穷:(+2+2N(N=n-4))

n是月份

我们可以用递归函数,或者去定义

典型的斐波那契数列但不能忽略前4天兔子没有成长起来的变量

我们可以以4月后为起始,加上前面4月的小兔叽(4+6+8+10)也就是28只小兔叽

令N=1 a=28 b=2+2N 去计算月份和小兔子数量

#斐波那契数列(Fibonacci数列)是数学家斐波那契以研究兔子繁殖为例研究的数列,#故称“兔子数列”,又称为黄金分割数列。它的一提出就受到了社会的广泛关注,#经过研究之后人们发现了这个神奇的数列有着不可估量的重要作用。这个数列在物理、化学等领域都有广泛的应用。# def fib(number):#n, a, b = 0, 1, 2#while n < number:# a, b = b, a + b# n = n + 1#print(len(str(b)))## fib(20000)# Python特有,组包拆包原理#def fib(number):# a = 1# b = 1# while a <= number:# 当斐波那契数小于等于number时结束循环# print(a, end=" ", flush=True)# a, b = b, a + b # python不借助变量交换两数的值#fib(10000) # 求n之内的斐波那契数列#n = int(input("请输入月份"))#def fib():##N = n - 4#a = 28#b = 28 + 2N#while b <= N:#print()if __name__=="__main__":fib1 = 1fib2 = 1i = 4print("%6d %6d%6d%6d"%(fib1,fib2,fib1,fib2),end=" ") # 输出第一个月和第二个月的兔子数量n = int(input("请输入月份"))while i <= n:fib = fib1+fib2# d迭代求出当前月份的兔子对数print("%6d"%fib,end=" ") # 输出当前月份的兔子对数if i % 4 == 0:print() # 每行输出4个细节啊fib2 = fib1 # 为下一次迭代做准备,求出新的fib2fib1 = fib # 求出新的fib1i += 1

幼仔对数=前月成兔对数

成兔对数=前月成兔对数+前月幼仔对数

总体对数=本月成兔对数+本月幼仔对数

可以看出幼仔对数、成兔对数、总体对数都构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。