具体来说,就是Conway的PRIMEGAME。
这是John H. Conway设计的一种算法,它使用14个有理数的序列生成素数:
A B C D E F G H I J K L M N
17 78 19 23 29 77 95 77 1 11 13 15 15 55
-- -- -- -- -- -- -- -- -- -- -- -- -- --
91 85 51 38 33 29 23 19 17 13 11 14 2 1
例如,F是分数77/29
。
因此,这是算法查找素数的方式。以数字开头2
,找到序列中的第一个条目,相乘后将产生一个整数。这就是M
,15/2
,它产生15
。然后,对于该整数15
,找到序列中的第一个条目,该条目在相乘时会产生一个整数。那是最后一个N
,或55/1
,产生825
。写下相应的顺序。(机敏的人可能将其视为FRACTRAN程序。)
经过一些迭代,您将获得以下内容:
2, 15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, 910, 170, 156, 132, 116, 308, 364, 68, 4 ...
请注意,列出的最后一项是4
或2^2
。看一下我们2
用此算法生成的第一个素数(指数)!最终,该序列将如下所示:
2 ... 2^2 ... 2^3 ... 2^5 ... 2^7 ... etc.
因此,产生质数。这是OEIS A007542。
挑战
给定输入数字n
(零索引或单索引)(您的选择),输出n
此序列的第一个数字,或输出此序列的n
第th个数字。
例子
以下示例输出n
零索引序列的第th项。
n output
5 2275
19 4
40 408
规则
408.0
而不是 408
举例。