Problem 46
It was proposed by Christian Goldbach that every odd composite number can be written as the sum of a prime and twice a square.
9 = 7 + 2×12
15 = 7 + 2×22
21 = 3 + 2×32
25 = 7 + 2×32
27 = 19 + 2×22
33 = 31 + 2×12
It turns out that the conjecture was false.
What is the smallest odd composite that cannot be written as the sum of a prime and twice a square?
克里斯蒂安·哥德巴赫曾经猜想,每个奇合数可以写成一个素数和一个平方的两倍之和。
9 = 7 + 2×12
15 = 7 + 2×22
21 = 3 + 2×32
25 = 7 + 2×32
27 = 19 + 2×22
33 = 31 + 2×12
最终这个猜想被推翻了。
最小的不能写成一个素数和一个平方的两倍之和的奇合数是多少?
def isprime(x):
if x <= 1:
return False
for i in range(2,int(x**0.5+1)):
if x % i == 0:
return False
return True
odd = {2*n+1 for n in range(10000) if not isprime(2*n+1)}
primes = [x for x in range(10000) if isprime(x)]
product = set()
for i in primes:
for j in range(1,1000):
product.add(i + 2*j**2)
for k in odd:
if k not in product:
print(k)