📜  哥伦布序列(1)

📅  最后修改于: 2023-12-03 14:50:43.707000             🧑  作者: Mango

哥伦布序列

哥伦布序列是一种数列,也称为“雪花数列”或“圆锥曲线序列”。

定义

哥伦布序列的第一项为任意正整数,之后每一项都等于前一项的平方再加上这个数本身,即:

$a_1=n$

$a_{n+1}=a_n^2+n$

其中,$n$ 为正整数。

示例

以 $n=1$ 开始,可以得到如下序列:

$$ 1, 2, 6, 43, 1850, \cdots $$

特点

哥伦布序列的特点包括:

  • 不收敛于任何数
  • 具有周期性,但是其周期长度很难计算
  • 对于 $n \geq 2$,第一项必须为正整数,否则序列中会出现无限个负数项
应用

哥伦布序列在计算数值积分、构建密码系统等领域都有着应用。

此外,哥伦布序列也可以作为一种有趣的数学问题进行研究和探究。

编程实现

以下为使用 Python 语言编写的哥伦布序列的生成函数代码:

def columbus_seq(n: int) -> list[int]:
    seq = [n]
    while True:
        last_item = seq[-1]
        next_item = last_item ** 2 + len(seq)
        if next_item in seq:
            seq.append(next_item)
            break
        seq.append(next_item)
    return seq

使用方法:

>>> columbus_seq(1)
[1, 2, 6, 43, 1850, 3421801, 1167746981161, 13634154970176107534860401, 185246899345837919498166656009942041735167641344649832289424801]

以上代码可以生成以 $1$ 为起始数的哥伦布序列。