原文
判斷乙個數是否是素數
如果p是素數,且整數a不是p的倍數有:
\[a^\equiv 1 \pmod p
\]費馬定理只是n是素數的必要條件。即費馬定理不成立,n一定是合數;費馬定理成立,n可能是素數。
性質 1:$p-1$個整數 $a,2a,3a,...(p-1)a$中沒有乙個是 $p$的倍數
性質 2:$a,2a,3a,...(p-1)a$中沒有任何兩個同餘與模 $p$的
所以 $a,2a,3a,...(p-1)a$對模 $p$的同餘既不為零,也沒有兩個同餘相同
因此,這 $p-1$個數模 $p$的同餘一定是 $a,2a,3a,...(p-1)a$的某一種排列
即 $a*2a*3a*...*(p-1)a \equiv \pmod p$
化簡為$a^*(p-1)! \equiv ! \pmod p$
根據威爾遜定理可知 $(p-1)!$與 $p$互質,所以同時約去 $(p-1)!$
即得到 $a^\equiv 1 \pmod p$
若 \(p\)為素數,a為任意整數有:
\[a^\equiv 1 \pmod p
\]易得
\[a\equiv \pm 1 \pmod p
\]
$a^\equiv 1 \pmod p$
$a^-1\equiv 0 \pmod p$
$(a+1)*(a-1)\equiv 0 \pmod p$
那麼$(a+1)\equiv 0 \pmod p$
或者$(a-1)\equiv 0 \pmod p$
(此處可根據唯一分解定理證明)
即$a\equiv \pm 1 \pmod p$
$a^\equiv 1 \pmod p$
$a^-1\equiv 0 \pmod p$
$(a+1)*(a-1)\equiv 0 \pmod p$
那麼$(a+1)\equiv 0 \pmod p$
或者$(a-1)\equiv 0 \pmod p$
(此處可根據唯一分解定理證明)
即$a\equiv \pm 1 \pmod p$
首先,根據 miller rabin 演算法的過程
假設需要判斷的數是 \(p\)
我們把 \(p-1\)分解為 \(2^k*t\)的形式
當 \(p\)是素數,有 \(a ^ \equiv 1 \pmod p\)
然後隨機選擇乙個數 \(a\),計算出 \(a^t \pmod p\)
讓其不斷的自乘,同時結合二次探測定理進行判斷
如果我們自乘後的數 \(\pmod p = 1\),但是之前的數 \(\pmod p \not = \pm 1\)
那麼這個數就是合數 (違背了二次探測定理)
這樣乘 \(k\)次,最後得到的數就是 \(a^\)
那麼如果最後計算出的數不為 \(1\),這個數也是合數 (費馬小定理)
老祖宗告訴我們,若 \(p\)通過一次測試,則 \(p\)不是素數的概率為 \(25\)%
那麼經過 \(t\)輪測試,\(p\)不是素數的概率為 \(\dfrac }\)
我習慣用 \(2,3,5,7,11,13,17,19\)這幾個數進行判斷
在資訊學範圍內出錯率為 \(0\)%(不帶高精)
注意在進行素數判斷的時候需要用到快速冪。。
#include#define ll long long
inline int read()
while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}int n, m, test[10] = ;
int pow(int a, int p, int mod)
bool query(int p)
if(a != 1) return 0;
}return 1;
}main()
Miller Rabin演算法詳解
目錄 基本引理 1,費馬定理 2,二次探測定理 作用 證明 實現 目錄 基本引理 1,費馬定理 2,二次探測定理 費馬定理的證明鏈結 二次探測定理的證明鏈結 有效的檢測大整數是否為素數。由費馬定理,可以排除大部分非素數的情況 滿足費馬定理是素數的必要條件 給出乙個奇素數n,顯然n 1為乙個偶數,存在...
數論 Miller Rabin演算法
在我們需要判斷乙個數是否是素數的時候,最容易想到的就是那個熟悉的o n 的演算法。那個演算法非常的簡單易懂,但如果我們仔細想想,當n這個數字很大的時候,這個演算法其實是不夠用的,時間複雜度會相對比較高。怎麼解決呢?我們先來了解一下 費馬小定理 假設我們有乙個素數p,且另乙個數a和p互素,就可以得到a...
素數判定 Miller Rabin 演算法
談到素數判定,首先想到的兩種便是暴力判定與篩法,實現非常簡單,在此不提。但在分解大質數時,由於數字過大,使得暴力判定會超時,篩法會超空間 可使用有技巧的限制空間篩法,但數字過大仍然過不了 這時,我們就要引入非完美大質數判定演算法 miller rabin演算法。下面一段引自sunshine cfbs...