-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy patheuler-047.py
46 lines (37 loc) · 843 Bytes
/
euler-047.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
try:
import psyco
psyco.full()
except ImportError:
pass
import primes
def euler47() :
limit = 200 * 1000
print "Generating primes"
p = primes.primes(limit)
x = [0] * limit
print "Generating factor counts"
for pp in p:
for j in xrange(pp, limit, pp) :
x[j] += 1
for i in xrange(2, limit) :
if all(4 == x[i-j] for j in range(0, 4)) :
print i-3
break
#run_length = 4
#pf = [0,0]
#for i in range(run_length) :
# pf.append(len(set(primes.primeFactors(2+i))))
#
#i = 2
#while not all(pf[i+j] == run_length for j in range(run_length)) :
# pf.append(len(set(primes.primeFactors(i+run_length))))
# i += 1
#
#for k in range(i,i+run_length) :
# print k, pf[k], primes.primeFactors(k)
if __name__ == "__main__" :
import time
s = time.clock()
euler47()
e = time.clock()
print "Elapsed: ", (e - s)