summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2009-10-19 17:26:46 +0200
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:10:21 +0200
commit42a8cd41c17ffeabcb87e008d29fdbd1603a72be (patch)
tree66c3208def60707834679365743cc8d1376c1e89
parent5c98788b8dbbf45c2621cc0d712c4053c7e14ac8 (diff)
solution for projecteuler problem 35
-rw-r--r--src/projecteuler/035.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/projecteuler/035.py b/src/projecteuler/035.py
new file mode 100644
index 0000000..8f00da8
--- /dev/null
+++ b/src/projecteuler/035.py
@@ -0,0 +1,33 @@
+def circular_prime(number):
+ global number_list
+ result = True
+ number_str = str(number)
+ for i in range(1, len(number_str)):
+ rotated_str = number_str[i:] + number_str[:i]
+ rotated_nr = int(rotated_str)
+ if not number_list[rotated_nr-1]:
+ result = False
+ break
+ return result
+
+
+limit = 1000000
+
+number_list = [False]
+for i in range(2, limit+1):
+ number_list.append(True)
+
+for i in range(2, limit+1):
+ x = i*2
+ while(x <= len(number_list)):
+ number_list[x-1] = False
+ x += i
+
+count = 0
+
+for i in range(1, limit+1):
+ if number_list[i-1] and circular_prime(i):
+ count += 1
+
+print count
+