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

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

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

# 输入
n = int(input())
# 找到小于n的所有素数
lst = [True for i in range(n)]
prime = []
for i in range(n):
    if i < 2: lst[i] = False
    else:
        if lst[i]:
            prime.append(i)
            temp = i*i
            while temp < n:
                lst[temp] = False
                temp += i 
# 从可能的素数中,找到两个素数的和为n,且距离最小的
res = []
for i in prime:
    target = n - i
    if target in prime:
        if res:
            if abs(res[0] - res[1]) > abs(i - target):
                res = [i,target]
        else:
            res = [i,target]
for i in res:
    print(i)
全部评论

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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