📜  求系列 2, 8, 18, 32, 50, 的第 n 项。 . . .(1)

📅  最后修改于: 2023-12-03 15:11:03.099000             🧑  作者: Mango

求系列 2, 8, 18, 32, 50, 的第 n 项

问题描述

给定数列 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 项。最终的求解代码非常简单,只有几行。