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

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

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

from math import sqrt
n=int(input())

#定义一个分解因数的函数,并返回因数个数值
def factor(n):
    fac=[]
    num=[]
    for i in range(1,int(sqrt(n))+1):
        if n%i==0:
            fac.append(i)
            fac.append(n//i)
    num=set(fac)
    return(len(num))

#定义一个素数列表返回函数
def prime_list(n):
    prime=[]
    for j in range(2,n):
        if factor(j)==2:
            prime.append(j)
    return prime

#求最小差值函数
def min_diff(n):
    diff=[]
    prime=prime_list(n)
    for i in range(len(prime)):
        for j in range(i,len(prime)):
            if prime[i]+prime[j]==n:
                diff.append(int(abs(prime[i]-prime[j])))
    return min(diff)
   
#运用差值找素数函数
def find_two(n):
    diff=min_diff(n)
    l=(n-diff)//2
    k=n-l
    print(l,k,sep='\n')

find_two(n)

                


全部评论

相关推荐

都在说秋招是越早投越好,我越早投和双9大佬同台竞技,我压力暴大呀营销号都说越早投递越好真的不是贩卖焦虑吗
xxxxOxo:分批次投吧,投太多面试安排不过来或者一直面都没时间复盘,那很多面试等于白面了
点赞 评论 收藏
分享
08-05 18:14
门头沟学院 Java
小花的沉默:是学历厂没错啊,学历太高了不要
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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