(Python)
导入数学
素数=[]
定义addPrime(k):
对于素数中的p:
如果k%p==0:返回
如果p*p>k:中断
素数追加(k)
r=0
p=k
而k:
r=r*2+(k&1)
k> >=1
s=int(数学.sqrt(r))
如果s*s==r:打印str(p)+',',
添加素数(2)
添加素数(3)
对于范围(5000000000,6)中的i:
添加素数(i)
addPrime(i+2)
(Python)
从sympy导入isprime
而j<2**34:
p=int(格式(j,'b')[::-1],2)
如果j%2和isprime(p):
j+=2*i+1
i+=1
(Python)
从sympy导入integer_nthroot,primerange
定义确定(p):返回integer_ntroot(int(bin(p)[:1:-1],2),2)[1]
def aupto(lim):返回[p代表素数范围(2,lim+1)中的p,如果正常(p)]
(PARI)isok(k)=isprime(k)和issquare(from digits(Vecrev(binary(k)),2))\\米歇尔·马库斯2021年2月19日
|