From 42a8cd41c17ffeabcb87e008d29fdbd1603a72be Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Mon, 19 Oct 2009 17:26:46 +0200 Subject: solution for projecteuler problem 35 --- src/projecteuler/035.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/projecteuler/035.py 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 + -- cgit v1.2.3