让我们将一个原始素数定义为一个本身是素数的数字,但是如果您删除N基10位数的任何连续子字符串,它将不再是素数,其中0 < N < digits in number
。
例如,409是一个素数,因为409本身是素数,但是删除1位数的子字符串所产生的所有数字都不是素数:
40
49
09 = 9
去掉长度为2的子串所产生的所有数字都不是素数:
4
9
另一方面,素数439并不是原始的。移除不同的子字符串会导致:
43
49
39
4
9
而49,39,4和9都是非素数,43是素数,因此439不是原始的。
2、3、5和7是最原始的,因为它们不能移除任何子字符串。
您的挑战是创建一个程序或函数,该程序或函数接受一个正整数N并输出N个原始素数。该代码应在任何现代PC上在1分钟内完成,输入最多可达50。
作为参考,以下是前20个原始质数:
N Pristine prime
1 2
2 3
3 5
4 7
5 11
6 19
7 41
8 61
9 89
10 409
11 449
12 499
13 821
14 881
15 991
16 6299
17 6469
18 6869
19 6899
20 6949
这里是最多为1e7或N= 376的原始素数的完整列表。
最后,这里有两个相关的OEIS条目:
发布于 2015-12-11 02:22:27
e.f>}ZPZsmq1lPs.D`Z}Fd.CU`Z2Q
高尔夫、解释等。
https://codegolf.stackexchange.com/questions/66293
复制相似问题