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

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

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

从输入的偶数的一半开始找,到2,找出其中所有素数,再判断另外一个数是不是素数

while True:
    try:
        n = int(input())
        prime = []
        for i in range(int(n/2), 1,-1):
            for x in range(2,i):
                if i%x == 0 or (n-i)%x == 0:
                    break
            else:
                prime.append(i)
        print(prime[0])
        print(n-prime[0])
    except:
        break
全部评论
你这个对n-i的判断不够,没有做i到n-i的素数判断
7 回复 分享
发布于 2022-05-28 23:38
原来for也可以接else,学到了。
1 回复 分享
发布于 2022-03-05 01:13
if语句里面为什么是or不是and
点赞 回复 分享
发布于 2023-06-30 18:14 广东
第 7 行什么意思啊,i%x==0不是素数,(n-i)%x什么意思啊
点赞 回复 分享
发布于 2023-04-11 19:57 四川
108 的判断 49 59相差10 不比 47 61的14小吗
点赞 回复 分享
发布于 2022-06-15 15:04
有点不明白,我算的值是11 9,为撒示例给的是7 13
点赞 回复 分享
发布于 2022-05-22 11:28
思路清奇~不过我有个建议,prime.append(i)的下面一行再接一个break。反正只要满足条件的第一个,节省计算量。
点赞 回复 分享
发布于 2022-03-05 01:16

相关推荐

可爱的牛油果在求佛:再给你说一点,之前我的简历像流水账,当时我在面试的时候,面试官说:“你简历上的都是在调包吗?有自己的改进吗?如果没有改进直接调包的话,我觉得没什么可深挖的”。当时给我整懵了。其实大部分确实是在调包,因为我确实就用到这些简单的技术,如果只是把技术要点写在简历上,那没什么好说的,没意思,没什么深挖的。但是调包与调包之间仍存在区别,那就是自己的思考,如果你不把自己的困难摆出来,人家觉得就是简单的调包,有啥难的。其实只有你自己知道这个项目的难点在哪,只有你自己知道为什么要用这个技术,为什么要调这个包,而你需要展示的,不是技术,而是这个“为什么”,这是关键。所以,当你的技术不是很硬核的时候,就要突出自己的思考,这时候“思考”是难点,而当你的简历很硬核,技术很复杂时,技术本身就是难点。
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
30
5
分享

创作者周榜

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