小学生蓝桥杯Python闯关 | 病毒复制
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小学生蓝桥杯Python闯关 | 病毒复制相关的知识,希望对你有一定的参考价值。
学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客
【题目描述】
某种病毒具有很强的繁殖能力,从病毒粒子出生后的第 5 分钟开始,每分钟可以复制出一个新的 病毒粒子。新出生的病毒粒子从第 5 分钟开始,也可以每分钟复制一个新的病毒粒子。
举例来说,第 1 分钟时有一个病毒粒子,此病毒粒子从第 5 分钟开始复制新的病毒粒子,因此第 5 分钟时的病毒数量为 2 个;第 6 分钟时又复制出新的病毒粒子,因此第 6 分钟的病毒数量为 3 个;以此类推,第 7 分钟时病毒粒子数为 4;第 8 分钟时病毒粒子数为 5;第 9 分钟时,第 5 分钟复制出的病毒粒子开始复制新的病毒粒子,因此第 9 分钟时的病毒总数为 7;第 10 分钟时,第 6分钟复制出的病毒粒子开始复制新的病毒粒子,因此第 10 分钟时的病毒粒子总数为 10。
计算病毒粒子总数,已知第一分钟时出生了一个病毒粒子,假设所有病毒粒子不会自动死亡, 请计算第 N 分钟时的病毒粒子总数。
例如:前 10 分钟病毒粒子的总数分别为 1,1,1,1,2,3,4,5,7,10。
【输入描述】
输入正整数 N(0<N≤60),表示时间
【输出描述】
输出第 N 分钟时,病毒粒子的总数
【样例输入】
6
【样例输出】
3
【代码详解】
N = int(input())
ls = [1, 1, 1, 1, 2, 3, 4]
if N > 7:
for i in range(7, N):
ls.append(ls[i-3] + ls[i-4] + ls[i-5] + ls[i-6])
print(ls[-1])
else:
print(ls[N - 1])
复制代码
【运行结果】
10
10
以上是关于小学生蓝桥杯Python闯关 | 病毒复制的主要内容,如果未能解决你的问题,请参考以下文章