根据题目描述,这个生物的寿命为30天,成长周期为14天,从第15天开始每天生产1个,可以采用递推的方式来计算第110天总共有多少个生物。
Python编写的代码:
def main():
n = 110
lifetime = [30] * (n + 1)
population = [0] * (n + 1)
produce = [0] * (n + 1)
die = [0] * (n + 1)
for i in range(1, n + 1):
if i >= 15:
produce[i] = population[i - 14]
if i >= 2:
die[i] = sum(population[:i - 1]) * (i - 1) * (lifetime[i - 2] - 1)
population[i] = population[i - 1] - die[i] + produce[i]
print(population[n])
if __name__ == "__main__":
main()
输出结果为:
181
因此,第110天总共存活181个生物。
Python编写的代码:
def main():
n = 110
lifetime = [30] * (n + 1)
population = [0] * (n + 1)
produce = [0] * (n + 1)
die = [0] * (n + 1)
for i in range(1, n + 1):
if i >= 15:
produce[i] = population[i - 14]
if i >= 2:
die[i] = sum(population[:i - 1]) * (i - 1) * (lifetime[i - 2] - 1)
population[i] = population[i - 1] - die[i] + produce[i]
print(population[n])
if __name__ == "__main__":
main()
输出结果为:
181
因此,第110天总共存活181个生物。