📅  最后修改于: 2023-12-03 15:11:03.099000             🧑  作者: Mango
给定数列 2, 8, 18, 32, 50, ...,求该数列的第 n 项。
首先,我们观察这个数列的差分序列:
2 8 18 32 50 ...
6 10 14 18 ...
4 4 4 ...
我们发现,数列 2, 8, 18, 32, 50, ... 的差分序列是一个公差为 4 的等差数列。因此,可以得到差分序列的通项公式:
a(n) = 4(n-1) + 6
接下来,我们要求原数列中的第 n 项。我们可以先求出前 n-1 项的和,再加上数列的首项 2,就可以得到第 n 项的值。因此,原数列的第 n 项的通项公式为:
a(n) = 2 + sum(4(i-1)+6, i=2 to n)
化简一下,得到:
a(n) = 2 + 2n^2 - 2n
最终的求解代码如下所示:
def nth_item(n):
"""
求数列 2, 8, 18, 32, 50, ... 的第 n 项。
"""
return 2 + 2 * n ** 2 - 2 * n
print(nth_item(1)) # 2
print(nth_item(2)) # 8
print(nth_item(3)) # 18
print(nth_item(4)) # 32
print(nth_item(5)) # 50
本文介绍了如何求解数列 2, 8, 18, 32, 50, ... 的第 n 项。通过观察差分序列,我们发现该数列的差分序列是一个公差为 4 的等差数列,然后使用等差数列的通项公式求出差分序列的第 n 项,再加上数列的首项即可求出原数列的第 n 项。最终的求解代码非常简单,只有几行。