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

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

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)

全部评论

相关推荐

小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
牛客162194370号:
点赞 评论 收藏
分享
整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务