python-求兩數之間的素數

第一個版本:


x,y = map(int,input().split())
a=[]
for i in range(min(x,y),max(x,y)+1):
    estimate = True
    for j in range(2,i):
        if i%j!=0:
            estimate=True
        else:
            estimate=False
            break
    if estimate == True:
        a.append(i)
    else:
        pass
print(a)

利用for-else方式優化

x,y = map(int,input().split())
a=[]
for i in range(min(x,y),max(x,y)+1):
    for j in range(2,i):
        if i%j==0:
            break
    else:
        a=a+[i]

print(a)

爲了提高計算性能的優化:

import math
x,y = map(int,input().split())
a=[]
for i in range(min(x,y),max(x,y)+1):
    for j in range(2,int(math.sqrt(i)+1)):
        if i%j==0:
            break
    else:
        a=a+[i]
print(a)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章