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

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

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

先找出0到该数里的质数,存到序列里,然后再找加起来等于该数的两个数,最后比较距离,取距离最小的.

import math

while True:
    try:
        num1 = int(input())

        prime_num = []

        for i in range(num1):
            if(i >= 2):
                flag = 0
                for j in range(1,math.ceil(i**0.5)):  
                    if(i%(j+1) == 0):
                        flag = 1
                        break
                if(flag == 0):
                    prime_num.append(i)

        m = 0
        n = 0
        distance = num1


        for i in range(len(prime_num)):
            for j in range(len(prime_num)-1 , -1 , -1):
                if(prime_num[i] + prime_num[j] == num1):
                    distance1 = abs(prime_num[j] - prime_num[i])
                    if(distance1 < distance):
                        m = prime_num[i]
                        n = prime_num[j]
                        distance = distance1

        print(m)
        print(n)
    except:
        break
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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