原根 為了簡單起見,只考慮素數的情況。(並不是只有素數才有原根 定義:對於素數 $p$,如果存在一個正整數 $1<a<p$,使得 $a^1, a^2, ..., a^{p-1}$ 模 $p$ 的值取遍 $1,2,...,p-1$ 的所有整數,稱 $a$ 是 $p$ 的一個原根 ...
當需要求質數 P 的原根 G ,只需枚舉 a in ,P ,檢驗對 P 的所有質因子 p i , a frac P p i mod P 是否等於 ,若都不等於 ,則 a 為 P 的原根 Nod原根 ...
2018-06-23 21:04 0 1781 推薦指數:
原根 為了簡單起見,只考慮素數的情況。(並不是只有素數才有原根 定義:對於素數 $p$,如果存在一個正整數 $1<a<p$,使得 $a^1, a^2, ..., a^{p-1}$ 模 $p$ 的值取遍 $1,2,...,p-1$ 的所有整數,稱 $a$ 是 $p$ 的一個原根 ...
使用NTT需要保證模數mod 為質數。 通過以下代碼求得一個模數的原根 , 常見的質數的原根 998244353 -> 3 1e9+7 -> 5 #include<bits/stdc++.h> #define ll long long ...
一個數m如果有原根,則其原根個數為phi(phi(m))。特別地,對素數有phi(p)=p-1。 假設g是奇素數p的一個原根,則g^1,g^2,...,g^(p-1)在模p意義下兩兩不同,且結果恰好為1~p-1,由此可以定義“離散對數”,與連續數學中的對數有異曲同工之妙。 離散對數又叫 ...
定義: 設m>1,gcd(a,m)=1,使得成立的最小正整數d為a對模m的階,記為δm(a) 如果δm(a)=φ(m),則稱a是模m的原根 定理:設m>1,gcd(a,m)=1,那么正整數x是同於方程的一個根當且僅當δm(a) | x 定理:由歐拉定理得 gcd(a,n ...
Primitive Roots Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
測試結果: ...
1、原根的定義: 原根,是一個數學符號。設m是正整數,a是整數,若a模m的階等於φ(m)(m的歐拉函數),則稱a為模m的一個原根。 階:a和模m互質,使ad ≡1(mod m)成立的最小正整數d稱為a對模m的階。例如:22≡1(mod3),2對模3的階為2。 假設一個數g對於P來說是原根 ...
時隔兩三個月重新打$ntt$的時候,已經忘記了常見模數的原根。 想要回憶原根的求法,以備不時之需,然而也忘記了。 所以頹了大神$yxs$的證明博客,為了防止再次遺忘,來復讀一遍大神的做法和證明。 做法: 因為原根往往很小,所以可以采用暴力枚舉的方法。 然而直接暴力$check ...