【发布时间】:2018-09-03 09:58:29
【问题描述】:
如何在 Python 中生成这个列表? a(n) 的形式不是 prime + a(k), k
这是 oeis 上的列表http://oeis.org/A025043
它是 0、1、9、10、25、34、35、49、55、85、91、100、115、121。
我尝试了大胆的方法,结果并不好。现在我正在寻找一个复杂的解决方案,比如素数的埃拉托色尼筛。 大胆的方法需要迭代每个素数,并且对于素数的每次迭代都要迭代序列中已经存在的每个数字,这需要很长时间。
此表由聪明人生成:http://oeis.org/A025043/b025043.txt 他们要么使用了大量的计算能力,要么使用了我正在寻找的复杂算法。
为了解释这个序列是什么,其中不存在的每个数字都可以表示为该序列中的素数和数字的总和。例如 8 = 7(素数)+ 1(按序)、54 = 53(素数)+1(按序)等
【问题讨论】:
-
我不是在寻找素数,它们很简单。我正在寻找不是素数和序列中某个数字之和的每个数字(从 0,1 开始)
-
为此,您需要一个素数列表。
-
是的,我已经有了。但接下来呢?获取素数列表很容易,制作一个短序列也是如此。但是当你超过某个阈值时,迭代次数太多了。
-
@StepanFilonov:你在哪里发现了这个问题??描述不是很清楚
-
需要什么范围?
标签: python algorithm math sequence