以下介紹判別素數以及篩選素數的相關演算法:
一、素數判斷
判斷乙個非負整數是否為素數,若為素數則返回真。
//素數判斷
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仍未測試失敗,則認為 ...