python 中 斐波那契兔子问题

 

001、

root@PC1:/home/test# ls
test.py
root@PC1:/home/test# cat test.py            ## 测试程序(起初1只兔子f[1],兔子每隔一个月有繁殖能力,没繁殖一次生3只兔子)
#!/usr/bin/pyton

f = [1] * 5                                 ## 生成一个表示每一代兔子个数的序列,初始化为1(可以前两个元素为1, 其余均为0即可)

for i in range(2, 5):                       ## 第一代和第二代兔子个数均为1, 因此从第3三个元素开始循环, 计算到第5代
    f[i] = f[i - 1] + f[i - 2] * 3          ## 第三代的兔子个数等于第二代的个数 + 第一代个数 * 3(每次生三只); 依次类推(当前代兔子数等于上一代兔子个数(基数,也就是有繁殖能力和无繁殖能力之和)+ 上上代 * 3;(上上代都是有繁殖能力的个体)
    print(f[i])
root@PC1:/home/test# python test.py         ## 执行程序
4                                           ## 第三代兔子个体数
7                                           ## 第四代
19                                          ## 第五代

 

参考:

https://mp.weixin.qq.com/s?__biz=MzIxMjQxMDYxNA==&mid=2247484183&idx=1&sn=3b7f5cc71a9cb6b35e0ece92517cb99c&chksm=9747ca8ea0304398d7dea2893f2e0e68b5027a9bd079a66cfaae10cd883e06f55faa3bf7d825&scene=178&cur_album_id=1635727573621997580#rd

posted @ 2022-08-18 16:23  小鲨鱼2018  阅读(162)  评论(0编辑  收藏  举报