def is_prime(x):
if x < 2:
return False
if x == 2:
return True
if x % 2 == 0:
return False
i = 3
while i*i <= x:
if x % i == 0:
return False
i += 2
return True
n = int(input())
a = n // 2
while a >= 2:
b = n - a
if is_prime(a) and is_prime(b):
print(a)
print(b)
break
a -= 1
is_prime()这个是已经背出来的,太常用了。然后就只需要从中间往两边找就行了,相当于有序数组了。abs(a-b)越小越好。

京公网安备 11010502036488号