这是序列A054261。
第个素数包含数是包含前素数作为子串的最小数。例如,数字是最低的数字,其中包含前3个素数作为子字符串,使其成为第3个素数包含数。
这是微不足道弄清楚前四个遏制素数是,,和,但随后变得更有趣。由于下一个素数是11,所以下一个素数包含数不是,而是因为它被定义为具有该属性的最小数。
但是,当您超过11时,真正的挑战就来了。下一个主要收容编号为。请注意,在此数字中,子字符串和 是重叠的。该数字也与数字重叠。11
13
3
13
很容易证明此序列在增加,因为下一个数字需要满足该数字之前的所有条件,并且还要有一个子字符串。但是,该序列并不严格增加,如n=10
和结果所示n=11
。
输入项
一个整数n>0
(我想您也可以将它的索引设为0,然后设为n>=0
)
输出量
无论是n
个素数遏制,或包含第一清单n
素遏制号码。
到目前为止,我发现的数字是:
1 => 2
2 => 23
3 => 235
4 => 2357
5 => 112357
6 => 113257
7 => 1131725
8 => 113171925
9 => 1131719235
10 => 113171923295
11 => 113171923295
12 => 1131719237295
请注意,n = 10
和n = 11
是相同的数字,因为是包含所有数字的最低数字,但它也包含。
由于这是标记为高尔夫的代码,因此开始高尔夫吧!允许使用蛮力解,但是您的代码必须能够在理论上适用于任何输入(这意味着您不能仅将前n个素数连接在一起)。打高尔夫球快乐!
P
运算符是否创建显式映射以检查数字中的素数(而不是检查数字是否在素数数组中)?这是一个很好的解决方案,我怀疑您可以使用更少的命令来实现任何解决方案。