题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

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)

全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务