题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
# 任何一个偶数n都能写成两个素数的和,即n=a+b,通过遍历,不断逼近a和b差值的最小值(用abs()取绝对值)
# 定义素数判断函数
def isPrimme(num):
for i in range(2,int(num**0.5)+1):
if num % i == 0:
return False
else:
pass
return True # 执行到这一步代表着变量num确实是素数
n = int(input())
mindis = n # 两个素数的差,初始值设置为n,后续不断更新成两个素数差,直到这两个差值最小
for i in range(2,n+1):
if isPrimme(i) and isPrimme(n-i):
if abs(n-i-i) < mindis:
mindis = abs(n-i-i)
a = i
b = n-i
print(a)
print(b)
查看8道真题和解析

