Primus-Orderus素数


15

他们是谁?

Primus-Orderus素数(POP)是素数,它们素数顺序包含其顺序
因此nth,要成为POP,质数必须n以某种方式包含所有数字,我将对此进行解释。

例子

让我们弄清楚:的所有数字n必须以它们出现的顺序出现在POP的数字中n

6469th主要是64679这是POP,因为它包含的所有数字6469以正确的顺序。
1407647是POP,因为它是107647th素数

14968819POP(第968819个素数),因此此挑战不是 OEIS(A114924)

1327 不是POP,因为它是217th质数(数字的顺序不正确)

挑战

你猜对了!
给定一个整数n,输出nthPOP

测试用例

输入->输出

1->17
3->14723    
5->57089
10->64553 
29->284833  
34->14968819

这是因此最短的答案以字节为单位!

所有这些都应按1索引编制


0索引,1索引还是经销商的选择?
毛茸茸的

@Shaggy我认为这是1索引的,因此它与测试用例兼容(顺序很重要)。
Xcoder先生17年

@ Mr.Xcoder这是第1个POP,第7个素数

@MrXcoder:是的,对不起,我的措辞可能很差;我要问的意思是允许使用0索引吗?很显然,从测试的情况下,1索引允许的。顺便说一下,如果我们只需要测试用例并且在挑战规范中没有明确提及,我们是否可以在挑战中使用哪种索引?
毛茸茸的

1
谢谢,比尔。尽管在大多数情况下,您最近遇到的挑战非常好,但每个挑战都有一个或两个小问题,必须在评论中予以解决,这就是为什么我建议您开始对挑战进行沙盒处理,让我们抓住那些问题。
毛茸茸的

Answers:


3

Mathematica,104个字节

效率极高

(t=i=1;While[t<#+1,If[!FreeQ[Subsets[(r=IntegerDigits)@Prime@i,{Length@r@i}],r@i],t++];i++];Prime[i-1])&


一分钟内发现n = 34


2

外壳,11个字节

!fS¤o€Ṗdṗİp

在线尝试!

没那么快,在TIO上大约30秒内计算f(5)

说明

!fS¤o€Ṗdṗİp
 f       İp    Filter the list of prime numbers and keep only those for which:
  S¤o€Ṗdṗ       The "d"igits of its index in the "ṗ"rime numbers are an "€"lement of the 
                  "Ṗ"owerset of its "d"igits
!              Return the element at the desired index of this filtered list

2

蟒2 + gmpy2188个 162字节

非常有效,在TIO上22秒内发现n = 34

可能会打高尔夫球

from gmpy2 import*
def F(a,b):
 i=k=0
 while b[i:]and a[k:]:k+=a[k]==b[i];i+=1
 return"0">a[k:]
x=input()
u=z=1
while x:z=next_prime(z);x-=F(`u`,`z`);u+=1
print z

在线尝试!


@Dopapp,这不会增加字节吗? __import__("gmpy2").的长度比from gmpy2 import*\n
哈瓦德·哈默尔

哦,对,我不知道为什么这第一次就不一样了。我可能忘记了引号或其他内容
Daniel


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.