summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/projecteuler/010.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/projecteuler/010.py b/src/projecteuler/010.py
index 475ade8..691c7a5 100644
--- a/src/projecteuler/010.py
+++ b/src/projecteuler/010.py
@@ -1,14 +1,27 @@
-import math
-
limit = 2000000
number_list = [False] + [True]*(limit-1)
+list_len = len(number_list)
+
+def next_prime(i):
+ global number_list
+ global list_len
+ x = i+1
+ while(x <= list_len):
+ if number_list[x-1] == True:
+ break
+ x += 1
+ return x
-for i in xrange(2, int(math.sqrt(limit+1))):
+i = 2
+
+while(i*i <= list_len):
x = i*i
- while(x <= len(number_list)):
+ while(x <= list_len):
number_list[x-1] = False
x += i
+ i = next_prime(i)
+
sum = 0