题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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)