[编程题]统计每个月兔子的总数(思路很简单)
统计每个月兔子的总数
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)