先找出0到该数里的质数,存到序列里,然后再找加起来等于该数的两个数,最后比较距离,取距离最小的.

import math

while True:
    try:
        num1 = int(input())

        prime_num = []

        for i in range(num1):
            if(i >= 2):
                flag = 0
                for j in range(1,math.ceil(i**0.5)):  
                    if(i%(j+1) == 0):
                        flag = 1
                        break
                if(flag == 0):
                    prime_num.append(i)

        m = 0
        n = 0
        distance = num1


        for i in range(len(prime_num)):
            for j in range(len(prime_num)-1 , -1 , -1):
                if(prime_num[i] + prime_num[j] == num1):
                    distance1 = abs(prime_num[j] - prime_num[i])
                    if(distance1 < distance):
                        m = prime_num[i]
                        n = prime_num[j]
                        distance = distance1

        print(m)
        print(n)
    except:
        break