-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path60i.py
55 lines (47 loc) · 3.23 KB
/
60i.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
def is_prime(n):
if n <= 1:
return False
if n <= 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
while (i*i <= n):
if n % i == 0 or n % (i+2) == 0:
return False
i += 6
return True
def is_prime_l(l, n):
def front(e, n):
return int(str(n)+str(e))
def back(e, n):
return int(str(e)+str(n))
if n in l:
return False
for e in l:
if (not is_prime(front(e, n)) or
not is_prime(back(e, n))):
return False
return True
n = 10000000
pl = [True] * n
pl[0] = pl[1] = False
for i in range(int(n**0.5)+2):
if pl[i]:
for j in range(i*i, n, i):
pl[j] = False
primes = []
for i in range(n):
if pl[i]:
primes.append(i)
d = {792: [3, 7, 109, 673], 4710: [3, 7, 541, 4159], 4380: [3, 11, 2069, 2297], 2538: [3, 17, 449, 2069], 4386: [3, 17, 2069, 2297], 2484: [3, 37, 67, 2377], 6576: [3, 37, 2377, 4159], 5340: [3, 467, 617, 4253], 3850: [7, 19, 97, 3727], 4630: [7, 19, 97, 4507], 5002: [7, 19, 1249, 3727], 4942: [7, 61, 1693, 3181], 5524: [7, 433, 1471, 3613], 6868: [7, 829, 2671, 3361], 5812: [7, 1237, 1549, 3019], 8230: [7, 2089, 2953, 3181], 9496: [7, 2089, 3181, 4219], 2648: [11, 23, 743, 1871], 3146: [11, 239, 1049, 1847], 3188: [11, 239, 1091, 1847], 11324: [17, 2741, 3917, 4649], 5762: [23, 47, 1481, 4211], 1838: [23, 311, 677, 827], 3398: [23, 677, 827, 1871], 5464: [31, 1123, 2029, 2281], 6910: [37, 991, 2269, 3613], 7756: [37, 1549, 2707, 3463], 7364: [47, 947, 1439, 4931], 5674: [79, 967, 1117, 3511], 8680: [79, 1801, 3253, 3547], 6230: [89, 107, 1061, 4973], 9770: [101, 2633, 2699, 4337], 4514: [269, 617, 887, 2741], 9790: [397, 907, 3919, 4567], 8258: [809, 1361, 2141, 3947], 10484: [1319, 2243, 2789, 4133], 12070: [1447, 2803, 3769, 4051], 10894: [1753, 1951, 3547, 3643], 12652: [1783, 2953, 3643, 4273], 13628: [2039, 3299, 3767, 4523]}
for i in primes:
if i < 900000:
continue
for e in d:
if is_prime_l(d[e], i):
print(e, i)
'''
[2039, 3299, 3767, 4523, 941207]
d = {792: [3, 7, 109, 673], 4710: [3, 7, 541, 4159], 4380: [3, 11, 2069, 2297], 2538: [3, 17, 449, 2069], 4386: [3, 17, 2069, 2297], 2484: [3, 37, 67, 2377], 6576: [3, 37, 2377, 4159], 5340: [3, 467, 617, 4253], 3850: [7, 19, 97, 3727], 4630: [7, 19, 97, 4507], 5002: [7, 19, 1249, 3727], 4942: [7, 61, 1693, 3181], 5524: [7, 433, 1471, 3613], 6868: [7, 829, 2671, 3361], 5812: [7, 1237, 1549, 3019], 8230: [7, 2089, 2953, 3181], 9496: [7, 2089, 3181, 4219], 2648: [11, 23, 743, 1871], 3146: [11, 239, 1049, 1847], 3188: [11, 239, 1091, 1847], 11324: [17, 2741, 3917, 4649], 5762: [23, 47, 1481, 4211], 1838: [23, 311, 677, 827], 3398: [23, 677, 827, 1871], 5464: [31, 1123, 2029, 2281], 6910: [37, 991, 2269, 3613], 7756: [37, 1549, 2707, 3463], 7364: [47, 947, 1439, 4931], 5674: [79, 967, 1117, 3511], 8680: [79, 1801, 3253, 3547], 6230: [89, 107, 1061, 4973], 9770: [101, 2633, 2699, 4337], 4514: [269, 617, 887, 2741], 9790: [397, 907, 3919, 4567], 8258: [809, 1361, 2141, 3947], 10484: [1319, 2243, 2789, 4133], 12070: [1447, 2803, 3769, 4051], 10894: [1753, 1951, 3547, 3643], 12652: [1783, 2953, 3643, 4273], 13628: [2039, 3299, 3767, 4523]}
'''