在乙個給定範圍的區間內找到該區間所有的質數(素數)

2021-10-04 10:11:16 字數 835 閱讀 6258

剛開始我寫這個**是想用乙個簡單的方法,但是能力有限,只能將這個比較普通的方法呈現出來了。

首先我們先編寫一些前期準備的**,如下:

我的目的是先建立兩個集合,首先n集合先空著,將閉區間[x,y]的所有數都放到a集合裡備用。

x,y=eval(input("請輸入乙個區間(閉區間)如:x,y   "))

n=set()

a=set()

for i in range(x,y):

a.add(i)

接下來我們要編寫的便是判斷這個數是否為素數。

**如下:

for i in range(x,y):

for m in range(2,i-1):

if i%m==0:

n.add(i)

break

質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。其中i%m==0來判斷i除於m餘數是否為零,為零則說明他有初1和其本身以外的因數,找到乙個就可以結束這次迴圈了。

最後就是我們的輸入程式了。

我們把不是質數的數放到了n集合裡,這樣我們就可以利用集合的查來得到質數了。但是我們要考慮到1和2這兩個數字,所有為了方便起見,我就簡單的寫了一下這樣的**:

a=a-n-

print(a)

最後輸入的效果:

剛剛開始學python,有什麼不足之處,感謝大神們的指正。

寫乙個函式找到給定字串的位置

給你乙個排好序的並且穿插有空字串的字串陣列,寫乙個函式找到給定字串的位置。例子 在字串陣列 at ball car dad 中找到 ball 返回下標4.例子 在字串陣列 at ball car dad 中找到 ballcar 查詢失敗,返回 1.字串陣列已經是有序的了,所以,還是可以利用二分查詢來...

把乙個範圍的數對映到另乙個範圍

如何將乙個範圍的數對映到另乙個範圍,這是乙個很簡單的問題。但是有時候8位微控制器對乘除法支援不是很好,會出現溢位,這樣你就不能很好地得到你想要的數。這裡我提供乙個簡單的演算法,可以對整型進行誤差較小的對映。目的 將200 1023 中的某個數對映到 20 160 上 原範圍 200 1023 目標範...

給定乙個整數陣列,您的解決方案應該找到最小的整數。

給定乙個整數陣列,您的解決方案應該找到最小的整數。例如 出於此kata的目的,您可以假設提供的陣列不為空。我的 def find smallest int arr output arr 0 for ar in arr if output ar output ar return output這題比較簡...