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

统计每个月兔子的总数

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

'''
递归运算,
第1、2个月兔子总数为1没有兔子繁殖,
第3个月开始兔子开始繁殖,
2月兔长到第3个月立马下崽,
第n个月的1月兔等于上个月的2月兔、3月兔的总和,
第n个月的2月兔等于上个月的1月兔,
第n个月的3月兔等于上个月的2月兔、3月兔之和。
'''

n = int(input())#输入要统计的月份

sum = 0#兔子的总和

if n < 3:#如果月份小于3(在第1、2个月),兔子总数为1
    sum = 1

else:#月份超过第2个月(3月份开始)
    n1 = 0
    n2 = 1
    n3 = 0

    for i in range(2,n):
        info = n1#标记位记录上个月的1月兔
        n1 = n3 + n2#本月的1月兔等于上月的2月兔、3月兔之和
        n3 += n2#本月的3月兔等于上月的2月兔、3月兔之和
        n2 = info#本月的2月兔等于上月的1月兔
        sum = n1 + n2 +n3#本月兔子总数等于本月的1、2、3月兔总和

print(sum)#输出本月兔子总数

#华为机试#
全部评论

相关推荐

点赞 评论 收藏
分享
xwqlikepsl:感觉很厉害啊,慢慢找
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务