blob: 24a29836f87388278d72f552cb67aa57a321b64c (
plain)
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
|
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
|