python中实现兔子问题递推

 

兔子一代生3对,然后每隔一代兔子才有繁殖能力,问最初有1对兔子,问5代后一共有多少只兔子?

001、直接实现

>>> list1 = [1] * 5
>>> list1
[1, 1, 1, 1, 1]
>>> for i in range(2,5):
...     list1[i] = list1[i - 1] + list1[i - 2] * 3
...
>>> list1                ## 1到5代的兔子数目如下
[1, 1, 4, 7, 19]

 

002、借助函数结构实现

复制代码
[root@pc1 test01]# ls
test.py
[root@pc1 test01]# cat test.py             ## 统计函数
#!/usr/bin/env pythoh
# -*- coding: utf-8 -*-

generation = 5
size = 3

def count(generation, size):
        list1 = [1] * generation
        for i in range(2,generation):
                list1[i] = list1[i - 1] + list1[i - 2] * size
        return list1[generation - 1]

print(count(generation, size))
[root@pc1 test01]# python3 test.py          ## 统计结果
19
复制代码

 。

 

posted @   小鲨鱼2018  阅读(142)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-08-29 R语言中image函数绘制热图
2022-08-29 R语言中 par(mar = 。。。) par(mai = 。。。)
2022-08-29 R语言中grep、grepl函数
2022-08-29 R语言中par()函数
2022-08-29 R语言中 trunc()、ceiling()、floor()、round() 函数
2021-08-29 c语言中统计文件行数
2021-08-29 c语言统计文件单词数
点击右上角即可分享
微信分享提示