📜  生成n个连续复合数字的列表(一种有趣的方法)(1)

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

生成n个连续复合数字的列表(一种有趣的方法)

有时候我们需要一些不同寻常的数字列表,如果你听说过连续复合数字,那么你一定会喜欢这种有趣的数字列表生成方法。

什么是连续复合数字?

连续复合数字是指由数字组成的一个序列,其中每一个数字是由之前所有数字的乘积再加上1得到的。例如:

1, 2, 5, 26, 677, 458330 ...

其中第一个数字为1,第二个数字是1×2+1=3,第三个数字是1×2×3+1=7,以此类推。

如何生成连续复合数字的列表?

生成连续复合数字的列表的代码非常简单,只需要使用一个for循环和一个乘法累加器即可。

def generate_compound_numbers(n):
    res = [1]
    product = 1
    for i in range(1, n):
        product *= i
        res.append(product + 1)
    return res

代码中输入参数 n 指的是需要生成的连续复合数字的个数。

演示

我们可以使用下面的代码来演示生成连续复合数字的列表:

n = 10
compound_numbers = generate_compound_numbers(n)
print(compound_numbers)

输出结果为:

[1, 2, 5, 26, 677, 458330, 1766319601, 656840835571289, 44945570212853, 15013093754529657201]
总结

连续复合数字是一种有趣的数字序列,生成这样的列表的代码非常简单。如果你对其它有趣的数字序列感兴趣,可以继续了解斐波那契数列、卡塔兰数列等等。