python入门100个经典例子_Python 入门经典100实例:实例11 每月兔子总数

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

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....

关于斐波那契数列的兔子繁殖问题可以如下理解:

实际月份  1    2    3    4    5    6    7     8

幼仔对数  1    0    1    1    2    3    5     8

成兔对数  0    1    1    2    3    5    8    13

总体对数  1    1    2    3    5    8   13   21

幼仔对数=前月成兔对数

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

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

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

程序源代码:f1 = 1

f2 = 1

for i in range(1,21):

# %12d 将一个整数在宽度为12个字符的栏中右对齐

print '%12d %12d' % (f1,f2)

f1 = f1+ f2

f2 = f1+f2

输出结果为:1            1

2            3

5            8

13           21

34           55

89          144

233          377

610          987

1597         2584

4181         6765

10946        17711

28657        46368

75025       121393

196418       317811

514229       832040

1346269      2178309

3524578      5702887

9227465     14930352

24157817     39088169

63245986    102334155

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值