埃拉託色尼篩演算法

2021-06-16 00:31:00 字數 502 閱讀 9201

功能:用來產生乙個不大於給定整數n的連續質數序列

演算法 sieve(n)

//實現「埃拉託色尼的篩子」

//輸入:乙個正整數≥2

//輸出:包含所有小於等於n的質數的陣列l

for p

←2 to n do a[p]

←p//a[p]

表示陣列

for p

←2 to

do//

表示向下取整函式,即求捨去小數部分後的整數值

ifa[p]≠0

//p沒有被前面的步驟消去 j←

p*p whilej

≤n do

a[j]←0

//將該元素標記為已經消去 j←

j+p //將a

中剩餘的元素複製到質數陣列l中

i←0 for p

←2 to n do

if a[p]≠0

l[i]

←a[p] i←

i+1 return l

埃拉託色尼篩選法 演算法

埃拉託色尼篩選法 埃拉託色尼選篩法 the sieve of eratosthenes 簡稱埃氏篩法,是古希臘數學家埃拉託色尼 eratosthenes 274b.c.194b.c.提出的一種篩選法。是針對自然數列中的自然數而實施的,用於求一定範圍內的質數,它的容斥原理之完備性條件是p h 1 先把...

埃拉託色尼篩選法

埃拉託色尼篩選法 the sieve of eratosthenes 簡稱埃氏篩法,是古希臘數學家埃拉託色尼 eratosthenes 提出的一種篩選法。是針對自然數列中的自然數而實施的,用於求一定範圍內的質數。埃氏篩法步驟編輯 1 先把1刪除 現今數學界1既不是質數也不是合數 2 讀取佇列中當前最...

埃拉託色尼質數篩選法

以前夏季學期的時候接觸過埃氏篩選法,不過自己當時不太理解。今天看的時候有點感覺,大概用到的是每個合數都能寫成幾個質數相乘的格式,因此如果不能被比該數小的質數整除的話,該書一定也是質數。並且我們已知2是最小的質數,所以從2開始篩選。以下程式可以輸出不超過n的所有質數。當然鑑於陣列的大小是有限的,因此n...