吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1420|回复: 12
收起左侧

[求助] 一道数学题

[复制链接]
泪灬忆 发表于 2020-3-3 18:29
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子 ,假如兔子都不死,问每个月的兔子总数为多少?

大佬们,这用Python该怎么写

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

轻描淡写9714 发表于 2020-3-3 19:45
斐波那契数列?参考下C的递归就能写出来了吧
 楼主| 泪灬忆 发表于 2020-3-3 20:02
轻描淡写9714 发表于 2020-3-3 20:05
PLDancer 发表于 2020-3-3 20:53
以下是仓促写的,没优化(比如省略一些),就是说一下我的看法,如果错了,我很乐意你指正。
def 生兔子(月份):
\t兔子数列表=[1,0,0]#各月的兔子数。
\t月序=0
\twhile 月序 <月份:
\t\t变动兔子数列表=[兔子数列表[2],兔子数列表[0],兔子数列表[1]]
\t\t兔子数列表=[变动兔子数列表[0],变动兔子数列表[1],变动兔子数列表[2]+兔子数列表[2]]
\t兔子总数=兔子数列表[0]+兔子数列表[1]+兔子数列表[2]
\tprint('兔子总数为:%d'&(兔子总数))
六道佩奇 发表于 2020-3-3 20:58
本帖最后由 六道佩奇 于 2020-3-3 21:15 编辑

此处计算得到的兔子数量单位为:“对”
def num_rabbit(n):
        if n == 1:
                return 1
        elif n == 2:
                return 1
        elif n >= 3:
                return num_rabbit(n-1) + num_rabbit(n-2)

if __name__ == '__main__':
        n = int(input("please input month:"))
        print(num_rabbit(n))
]RZQM46LD(Y}V`}L~VM`CHY.png
T8_[XBLXQ{$~C68}%QD3#.png
sjtuzjt 发表于 2020-3-3 21:14
本帖最后由 sjtuzjt 于 2020-3-3 21:37 编辑

哦,每个月都生一个,还以为隔一个月生一个。
def num_rabbit(n):
    a,b,c=1,1,2
    for _ in range (n):
        yield a
        c=a+b
        a,b=b,c
if __name__ == '__main__':
    while True:
        n = int(input("please input month:"))
        print(list(num_rabbit(n)))
使用生成器,打印每个月的数量。
 楼主| 泪灬忆 发表于 2020-3-3 22:41
PLDancer 发表于 2020-3-3 20:53
以下是仓促写的,没优化(比如省略一些),就是说一下我的看法,如果错了,我很乐意你指正。
def 生兔子( ...

感谢大佬
 楼主| 泪灬忆 发表于 2020-3-3 22:42
sjtuzjt 发表于 2020-3-3 21:14
哦,每个月都生一个,还以为隔一个月生一个。
def num_rabbit(n):
    a,b,c=1,1,2

感谢大佬,虽然有点看不懂,但我会继续努力的
 楼主| 泪灬忆 发表于 2020-3-3 22:44
六道佩奇 发表于 2020-3-3 20:58
此处计算得到的兔子数量单位为:“对”
def num_rabbit(n):
        if n == 1:

感谢大佬的代码
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 20:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表