一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。
假设经过三个小时的细胞分裂后再死亡。
根据题意,细胞的生命周期是三个小时,一个小时后,第一个细胞分裂,此时细胞总数变成 2,但是这两个细胞的生存时间是不一样的,如果都当成新生细胞即存活时间为 0,那么给定的 3小时生命周期也就没意义了,所以这个时候其中一个细胞的生存时间变成了 1,另外一个刚分裂出来的是 0,下面简单表示一下分裂进程(-1 表示死亡)
时间 细胞状态 (生存时间) 细胞总数
0 0 1
1 1 0 2
2 2 1 0 0 4
3 -1 2 1 1 0 0 0 0 7
4 -1 2 2 1 1 1 1 0 0 0 0 0 0 0 13
5 -1 -1 2 2 2 2 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 24
… … …
f0 = 1
f1 = 2
f2 = 4
f3 = 7
可以发现到第四个小时的时候,规律出来了,在第四个小时死亡的细胞是三小时前也就是第一个小时的时候同时出生的细胞,而在第一个小时同时出生的细胞数等于第一个小时前一个小时的细胞总数
所以有递推式:f(n) = 2 * f(n - 1) - f(n - 4)