def get_prime_numbers(n): total = [] for num in range(n): prime_num = 0 for i in range(1, num + 1): if num % i == 0: prime_num += 1 if prime_num == 2: total.append(num) return total n = int(input()) prime_lst = get_prime_numbers(n) # find a,b min_differ = n for i in prime_lst: if n - i in prime_lst: if abs(n - 2 * i) <= min_differ: min_differ = abs(n - 2 * i) min_a = i if i < n - i else n - i min_b = n - min_a # print(min_differ) print(min_a) print(min_b)
这个题没啥说的,就硬做呗。一个函数找n以下的素数(找约数等于2的),然后循环判断就行。