|
发表于 2023-2-20 13:44:56
|
显示全部楼层
一开始看成全排列了,真的难顶啊
[2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 97, 113, 131, 197, 199, 311, 337, 373, 719, 733, 919, 971, 991, 1193, 1931, 3119, 3779, 7793, 7937, 9311, 9377, 11939, 19391, 19937, 37199, 39119, 71993, 91193, 93719, 93911, 99371, 193939, 199933, 319993, 331999, 391939, 393919, 919393, 933199, 939193, 939391, 993319, 999331]
55
Time:2.2769715785980225s
- import time
- st=time.time()
- nn=6
- n=10**nn
- aa=[]
- a=0
- data=list(range(n+1))
- for i in range(int(n**0.5)+1):
- if i<=1:
- data[i]=0
- continue
- num=2
- while i*num<=n:
- data[i*num]=0
- num=num+1
- # print(data[:20:])
- for k in data:
- if k==0:
- continue
- ii=k
- l=[]
- while ii>0:
- l.append(ii%10)
- ii=ii//10
- for i in range(len(l)):
- num=0
- for j in range(len(l)-1,-1,-1):
- num=num*10+l[(i+j)%len(l)]
- if data[num]==0:
- break
- if not data[num]==0:
- aa.append(k)
- a=a+1
-
- print(aa)
- print(a)
- print('Time:{}s'.format(time.time()-st))
复制代码 |
|