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

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

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

n = input().strip()

n = int(n) >> 1

smaller = []
bigger = []


for l in range(n):
    cur = n - l
    is_prime = True
    for i in range(2, int(cur**0.5) + 1):
        if cur % i == 0:
            is_prime = False
            break
    if is_prime:
        smaller.append(cur)

for r in range(n):
    cur = n + r
    is_prime = True
    for i in range(2, int(cur**0.5) + 1):
        if cur % i == 0:
            is_prime = False
            break
    if is_prime:
        bigger.append(cur)

min_diff = 2 * n
min_s, min_b = 0, 0
for i in smaller:
    for j in bigger:
        if i + j == 2 * n:
            if j - i <= min_diff:
                min_diff = j - i
                min_s, min_b = i,  j
print(min_s, min_b, sep='\n')

全部评论

相关推荐

08-01 17:57
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务