题解 | #查找组成一个偶数最接近的两个素数#
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
""" 思路:二分后枚举 列出包含中间界n//2及以内的所有素数 从最后一个素数i往前找,若第一出现的n-i也是素数,则i与n-i是所找素数对中间距最小的一对。 """ def isPrime(i): """判断是否为素数的函数""" if i == 2: return True for j in range(2, i): if i % j == 0: return False return True l = [] # 接收包含n//2及以内的所有素数 n = int(input()) for i in range(2, n//2+1): # 遍历素数(+1是为了能找至中间边界n//2) if isPrime(i): l.append(i) for i in l[::-1]: # 从素数列表后往前找 if isPrime(n-i): # 找到第一个素数对即可break print(i) print(n-i) break