有这样一个题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?其实这个就是斐波拉契数列,因为从第三个月开始,兔子数量等于前两个月兔子数量之和。为什么呢?因为第N个月时,第N-2个月的兔子已经可以生小兔子了,第N-1个月的兔子就是现有大兔子的数量。现有大兔子数量+新生兔子宝宝=当前这个月拥有的兔子数量。 用递归或者不用斐波拉契数列都可以解决,但是递归的缺点就在于计算速度,大概36个月开始,递归要好几秒才能出结果,但是函数依旧很快。在对速度有要求的情况下,能用函数就不用递归。
python 递归
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...