~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~
Examination Problem
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问前24个月每个月的兔子总数为多少?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Analysis
'''
程序分析:兔子的规律为数列2*(1,1,2,3,5,8,13,21....)
11(1) -2
11(2) -2
11(3) 11(1) -4
11(4) 11(2) 11(1) -6
11(5) 11(3) 11(2) 11(1) 11(1) -10
11(6) 11(4) 11(3) 11(2) 11(2) 11(1) 11(1) 11(1) -16
...
'''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Program
<pre style="font-family: "Courier New"; font-size: 12pt;"><span style="background-color: rgb(255, 255, 255);"><em>"""
File: example11_1.py:
Time:Created on 2016-08-31 23:49:21
Author: Sure</em></span>
"""
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
print ( time.strftime( '%Y-%m-%d %H:%M:%S',time.localtime(time.time()) ) )
A1 = 1
A2 = 1
for i in range(1,21):
if (i <= 2):
print('第 %d 月,总数为 2' % i)
print("%12d %12d" % (A1, A2))
else:
#a,b = b,a+b
A1, A2 = A2, A1+A2
#A1 = A2
#A2 = A1 + A2
print('第 %d 月,总数为 %d' % (i, 2*(A1+A2)))
print("%12d %12d" % (A1, A2))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Results
2016-09-02 21:50:48
第 1 月,总数为 2
1 1
第 2 月,总数为 2
1 1
第 3 月,总数为 6
1 2
第 4 月,总数为 10
2 3
第 5 月,总数为 16
3 5
第 6 月,总数为 26
5 8
第 7 月,总数为 42
8 13
第 8 月,总数为 68
13 21
第 9 月,总数为 110
21 34
第 10 月,总数为 178
34 55
第 11 月,总数为 288
55 89
第 12 月,总数为 466
89 144
第 13 月,总数为 754
144 233
第 14 月,总数为 1220
233 377
第 15 月,总数为 1974
377 610
第 16 月,总数为 3194
610 987
第 17 月,总数为 5168
987 1597
第 18 月,总数为 8362
1597 2584
第 19 月,总数为 13530
2584 4181
第 20 月,总数为 21892
4181 6765
Process finished with exit code 0