題目:有一對兔子,從出生后第3個(gè)月起每個(gè)月都生一對兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?
方法1
# -*- coding:utf-8 -*-
f1 = 1
f2 = 1
for i in range(1, 22):
print '%12ld %12ld ' % (f1, f2),
if (i % 3) == 0:
print ''
f1 = f1 + f2
f2 = f1 + f2
方法2
def fib(n):
if n == 1 or n == 2:
return 1
else:
return fib(n - 1) + fib(n - 2)
n = int(raw_input("第幾個(gè)月:"))
print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
print "第%d個(gè)月的兔子數(shù)為:%d 對" % (n, fib(n))
print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
方法2中打印出了程序運(yùn)行的時(shí)間,以輸出第36個(gè)月的兔子數(shù)目為例,運(yùn)行結(jié)果如下:
第幾個(gè)月:36
2017-09-24 19:59:38
第36個(gè)月的兔子數(shù)為:14930352 對
2017-09-24 19:59:42
由結(jié)果可看出,程序運(yùn)行花費(fèi)的時(shí)間為4秒,應(yīng)該算是非常慢了。