-
Notifications
You must be signed in to change notification settings - Fork 0
/
EulerP51b.py
executable file
·66 lines (57 loc) · 2.6 KB
/
EulerP51b.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
56
57
58
59
60
61
62
63
64
65
66
import time
import primes
startTime=time.clock()
Amount=8
# strNos=[str(i) for i in range(10)]
def listToNum(mylist):
sum=0
for i in range(len(mylist)):
sum+= mylist[-1-i]*10**i
return sum
##for 2 digits
# contin=1
# x=10
# while contin:
# prime=[int(i) for i in str(primes.prime(x))]
# for i in range(len(prime)-1):
# for j in range(i+1):
# list2=list(prime)
# count=0
# for k in range(10):
# list2[i+1]=list2[j]=k
# if primes.isprime(listToNum(list2)) and listToNum(list2)>999:
# count+=1
# if count==Amount:
# print listToNum(prime)
# contin=0
# x+=1
##for 3 digits
contin=1
x=25
while contin:
prime=[int(i) for i in str(primes.prime(x))]
for i in range(len(prime)-2):
for j in range(i+2):
for jj in range(j+1):
# if jj==0:
# am=Amount+1
# else
list2=list(prime)
count=0
for k in range(10):
list2[i+2]=list2[j+1]=list2[jj]=k
if primes.isprime(listToNum(list2)) and list2[0]!=0:
count+=1
if count==Amount:
print listToNum(prime)
print i+2
print j+1
print jj
for k in range(10):
list2[i+2]=list2[j+1]=list2[jj]=k
if primes.isprime(listToNum(list2)) and list2[0]!=0:
print listToNum(list2)
contin=0
x+=1
endTime=time.clock()
print endTime-startTime