题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395

成熟兔子数量 = 之前的熟兔子 + 刚满两月成熟的兔子
未成熟兔子数量 = 刚满一月兔子 + 这个月熟兔子们新生出来的
其中,刚满一月兔子 = 上个月刚出生兔子数量
n = int(input())

yng = 1
old = 0

if n==1 or n==2:
    print(1)
else:
    pre_yng = yng # 兔子成熟
    for i in range(3, n+1):
#         print(old, yng)
        if i % 2 != 0:
            old += pre_yng # 成熟的满两月兔子
            tmp = yng - pre_yng # 此时满一月的兔子
            yng = yng - pre_yng + old # 此时满一月 + 刚出生
            pre_yng = old # 记录刚出生,下一个月将满一月
        else:
            if tmp > 0: # 成熟的满两月兔子
                old += tmp
            yng = pre_yng + old # 满一月兔子 + old只熟兔子刚生的
#             print(old, yng)


print(yng+old)

全部评论

相关推荐

今年会有offer吗:一眼代码相似度过高
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务