[编程题]统计每个月兔子的总数(思路很简单)
统计每个月兔子的总数
http://www.nowcoder.com/questionTerminal/1221ec77125d4370833fd3ad5ba72395
本来想用递归算法,但本人不太擅长递归编程,所以总结出简单的逻辑规律,用简单的方式循环迭代。附python代码,以下文字为变量的含义,具体思路看代码
归纳:所有兔子就三种,每个月更新三种的数量,迭代完全部相加即为所有兔子数量
k3-第三个月及以上,可生育
k2-第二个月,不可生育
k1-第一个月,小萌新
import sys
for s in sys.stdin:
m = int(s)
k3 = 0
k2 = 0
k1 = 0
for i in range(m):
k3 = k3 + k2
k2 = k1
if k3==0 and k2 == 0:
k1 = 1
elif k3==0 and k2 == 1:
k1 = 0
else:
k1 = k3
print(k1+k2+k3)
