素數有關演算法

2021-07-04 02:08:56 字數 647 閱讀 7135

以下介紹判別素數以及篩選素數的相關演算法:

一、素數判斷

判斷乙個非負整數是否為素數,若為素數則返回真。

//素數判斷

bool is_prime( int u )

二、素數篩選一

構造乙個vector記錄已找到的所有素數。

//素數篩法一

vectorp;//素數表,用來儲存所有素數

const int max = 10000;//要篩選的素數最大範圍

void prime1()

}if( flag )

p.push_back(i);

}}

三、素數篩選二

預先確定所要篩選的素數的範圍;

從最小的素數2開始,將當前找到的素數的倍數全部篩去;

留下的最小的數即為新素數;

重複執行以上步驟,直到超出範圍。

//素數篩法二

const int max = 10000;//要篩選的素數最大範圍

bool isprime[max+1];//為true時是素數

void prime2()

}

素數有關理論

miller rabin演算法 pollard rho演算法 伯特蘭 切比雪夫定理 quad 首先介紹一下費馬小定理 quad 如果乙個數 p 是質數,乙個正整數 a 滿足 gcd a,p 1,那麼 a equiv 1 pmod p quad 事實上對於乙個數如果多次隨機數都滿足這個性質,那麼這個數...

python素數演算法 Python素數檢測的方法

因子檢測 檢測因子,時間複雜度o n 1 2 def is prime n if n 2 return false for i in xrange 2,int n 0.5 1 if n i 0 return false return true 費馬小定理 如果n是乙個素數,a是小於n的任意正整數,那...

素數判斷演算法

bool isprime int n bool isprime int n int p max void prime int n return n odd 最後把主體和 剩下的 乘起來作為結果 演算法思路 對於n,從素數表中取出任意的素數對其進行費馬測試,如果取了很多個素數,n仍未測試失敗,則認為 ...