病毒复制
题目描述
某种病毒具有很强的繁殖能力,从病毒粒子出生后的第 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