📅  最后修改于: 2023-12-03 15:26:56.006000             🧑  作者: Mango
这是一个数列求值问题。给定一个数列 $2, 8, 18, 32, 50, \dots$,求出该数列的第 $N$ 项的值。
根据数列给出的前几项可以看出规律:
$$ 2, 2+6, 2+6+10, 2+6+10+14, 2+6+10+14+18, \dots $$
可以发现数列每一项都是前一项加上一定的数字,且这个数字是一个等差数列,公差为 $4$。因此根据等差数列求和公式可得:
$$ a_n = 2 + 6\cdot\frac{(n-1)}{2} + 4\cdot\frac{(n-1)(n-2)}{2} = 2 + 3(n-1) + 2(n-1)(n-2) $$
其中 $n$ 为数列的项数。
以下是一个 Python 语言实现的函数,能够计算给定数列的第 $N$ 项的值。
def nth_term(n: int) -> int:
"""
Calculate the nth term of the sequence 2, 8, 18, 32, 50, ...
"""
return 2 + 3*(n-1) + 2*(n-1)*(n-2)
以下是对函数进行测试的样例数据:
| 输入 | 输出 |
| --- | --- |
| 1
| 2
|
| 2
| 8
|
| 5
| 122
|
| 10
| 670
|
本题解介绍了如何根据给定的数列求出其第 $N$ 项的值,并给出了对应的 Python 语言实现。在实现过程中需要注意等差数列求和公式的使用以及数列项数和下标的转换。