初等数论--原根--怎么判断a是不是模m的原根
初等數論--原根--怎么判斷a是不是模m的原根
博主是初學初等數論(整除+同余+原根),本意是想整理一些較難理解的定理、算法,加深記憶也方便日后查找;如果有錯,歡迎指正。
我整理成一個系列:初等數論,方便檢索。
- 根據定義
mmm為正整數,(a,m)=1,(a,m)=1,(a,m)=1,滿足ad≡1(modm)a^d\equiv 1(mod m)ad≡1(modm)的最小正整數ddd,如果d=φ(m),d=\varphi(m),d=φ(m),那么aaa是模mmm的原根。
這種方法需要使ddd遍歷{1,2,3……φ(m)?1,φ(m)}\{1,2,3……\varphi(m)-1,\varphi(m)\}{1,2,3……φ(m)?1,φ(m)},如果ddd直到試到φ(m)\varphi(m)φ(m)才有ad≡1(modm),a^d\equiv 1(mod m),ad≡1(modm),那么aaa是模mmm的原根。
- 根據ordm(a)∣φ(m)ord_m(a)\mid \varphi(m)ordm?(a)∣φ(m)
由歐拉定理證明過的“如果(a,n)=1,(a,n)=1,(a,n)=1,則aφ(n)≡1(modn)”,a^{\varphi(n)}\equiv 1(mod n)”,aφ(n)≡1(modn)”,我們知道一定有aφ(m)≡1(modm)a^{\varphi(m)}\equiv 1(mod m)aφ(m)≡1(modm);所以對于aordm(a)≡1(modm),a^{ord_m(a)}\equiv 1(mod m),aordm?(a)≡1(modm),且ordm(a)ord_m(a)ordm?(a)“最小”,所以ordm(a)∣φ(m)ord_m(a)\mid \varphi(m)ordm?(a)∣φ(m)。
這樣我們就不需要遍歷{1,2,3……φ(m)?1,φ(m)}\{1,2,3……\varphi(m)-1,\varphi(m)\}{1,2,3……φ(m)?1,φ(m)}了,只用遍歷φ(m)\varphi(m)φ(m)的正因子即可。
總結
以上是生活随笔為你收集整理的初等数论--原根--怎么判断a是不是模m的原根的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++服务器开发学习--02--MySQ
- 下一篇: 近世代数--群--怎么判断是不是群?