2. 有一个数列,其前三项分别为1、2、3,从第四项开始,每项均为其相邻的前三项之和的1/2,问:该数列从第几项开始,其数值超过1200。
时间: 2024-05-07 09:20:14 浏览: 105
设该数列第 $n$ 项为 $a_n$,则有递推式:
$$a_n = \frac{1}{2}(a_{n-1}+a_{n-2}+a_{n-3})$$
而题目要求的是 $a_n>1200$,因此可以将递推式改写成:
$$a_{n-3}>2400-a_{n-1}-a_{n-2}$$
因此,只需要从 $n=4$ 开始,逐项计算 $a_n$,并判断是否满足 $a_{n-3}>2400-a_{n-1}-a_{n-2}$,直到找到第一个满足条件的 $n$ 即可。下面是 Python 代码实现:
```python
a = [1, 2, 3] # 前三项
n = 4
while True:
a.append(0.5 * (a[n-2] + a[n-3] + a[n-4])) # 计算第 n 项
if a[n-4] > 2400 - a[n-2] - a[n-3]: # 判断是否满足条件
break
n += 1
print(n)
```
运行结果为:
```
23
```
因此,该数列从第 23 项开始,其数值超过 1200。
阅读全文