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

描述

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。

本题含有多组样例输入。

数据范围:输入的数据满足 4 \le n \le 1000 \4n1000 

输入描述:

输入一个大于2的偶数

输出描述:

输出两个素数

示例1

输入:
20
复制
输出:
7
13
复制

示例2

输入:
4
复制
输出:
2
			
2
def sushu(n):#返回n以内的素数列表
    list_sushu=[1,2,3]
    for i in range(4,n+1):        
        for j in range(2,i+1):
            if i %j ==0 and i==j:
                list_sushu.append(i)
            elif i%j==0:
                break
    return list_sushu
while True:
    try:
        n=int(input())
        list_sushu=[]
        list_1=[]
        list_2=[]
        list_sushu=sushu(n)
        for i in list_sushu:
            if (n-i) in list_sushu:
                list_1.append((i,n-i,abs(n-2*i)))#符合要求的素数对与差值作为元组,存入新列表
        list_2=sorted(list_1,key=lambda x:(x[2]))#对新列表按照元组第3个参数进行排序
        print(min(list_2[0][0],list_2[0][1]))#分别输出前面最小差值的素数对的两个值
        print(max(list_2[0][0],list_2[0][1]))
    except:
        break


全部评论

相关推荐

不愿透露姓名的神秘牛友
2025-11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司8个岗位
点赞 评论 收藏
分享
_mos_:要不是看评论区我都不知道你要找的是数分
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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