室友在看牛客网的编程题目时看到了这个题目,自己也做了做,写的代码比别人要复杂许多,说明还存在很多问题,这里放一下看到的不错的两种python代码,可以看一下:
首先是题目:

第一个代码:
import math
def isOk(n):
if n & 1 == 0:
return False
i = 3
n_sqrt = math.sqrt(n)
while i <= n_sqrt:
if n % i == 0:
return False
i += 2
return True
if __name__ == '__main__':
N = int(input())
ans = 0
for i in range(1, N//2+1, 2):
if isOk(i) and isOk(N-i): ##false 和 true
ans += 1
print(ans)
这个代码是用false和true来判断if的条件的。
第二个代码:
def issushu(n):
flag=1
if n<2:
flag=0
else:
for i in r

本文分享了关于牛客网编程题中求素数对(质数对)个数的问题,探讨了两种简洁的Python解决方案,并指出代码优化空间,包括使用布尔值判断和利用sqrt(N)减少循环次数。
最低0.47元/天 解锁文章
个数&spm=1001.2101.3001.5002&articleId=80022503&d=1&t=3&u=9ca08d32231745519eaac149c043aee3)
1151

被折叠的 条评论
为什么被折叠?



