summaryrefslogtreecommitdiff
path: root/046.py
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:21:45 +0200
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:35:09 +0200
commit95341b61b030c9e1290f3b326cb7ec584f543aea (patch)
tree852386fa04d32eb859bca11c0eff7b5ef9e50f00 /046.py
parent571164d977f91925c4c76a292f74f5f93d09ae23 (diff)
moved files to higher directory after split to new repositoryHEADtrunk
Diffstat (limited to '046.py')
-rw-r--r--046.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/046.py b/046.py
new file mode 100644
index 0000000..24a2983
--- /dev/null
+++ b/046.py
@@ -0,0 +1,35 @@
+
+from common import sieve
+
+squares = set([ x*x for x in xrange(1, 1000000) ])
+
+def check_number(number, prime):
+ square = (number - prime) >> 1
+ return square in squares
+
+prime_set = sieve(1000000).primes()
+primes = list(prime_set)
+primes.sort()
+
+number = 3
+
+while True:
+ number += 2
+
+ if number in prime_set:
+ continue
+
+ conjecture = False
+
+ for p in primes:
+ if p >= number:
+ break
+ if check_number(number, p):
+ conjecture = True
+ break
+
+ if not conjecture:
+ break
+
+print number
+