時隔兩三個月重新打$ntt$的時候,已經忘記了常見模數的原根。 想要回憶原根的求法,以備不時之需,然而也忘記了。 所以頹了大神$yxs$的證明博客,為了防止再次遺忘,來復讀一遍大神的做法和證明。 做法: 因為原根往往很小,所以可以采用暴力枚舉的方法。 然而直接暴力$check ...
原根的定義: 原根,是一個數學符號。設m是正整數,a是整數,若a模m的階等於 m m的歐拉函數 ,則稱a為模m的一個原根。 階:a和模m互質,使ad mod m 成立的最小正整數d稱為a對模m的階。例如: mod , 對模 的階為 。 假設一個數g對於P來說是原根,那么gi mod p的結果兩兩不同,且有 lt g lt P , lt i lt P.那么g可以稱為是P的一個原根。 歸根到底就是 ...
2020-03-06 23:17 0 738 推薦指數:
時隔兩三個月重新打$ntt$的時候,已經忘記了常見模數的原根。 想要回憶原根的求法,以備不時之需,然而也忘記了。 所以頹了大神$yxs$的證明博客,為了防止再次遺忘,來復讀一遍大神的做法和證明。 做法: 因為原根往往很小,所以可以采用暴力枚舉的方法。 然而直接暴力$check ...
一個數m如果有原根,則其原根個數為phi(phi(m))。特別地,對素數有phi(p)=p-1。 假設g是奇素數p的一個原根,則g^1,g^2,...,g^(p-1)在模p意義下兩兩不同,且結果恰好為1~p-1,由此可以定義“離散對數”,與連續數學中的對數有異曲同工之妙。 離散對數又叫 ...
階:設a,p是整數,a和p互素,那么:使 成立的最小正整數n叫做a模p的階. 原根:設m是正整數,a是整數,若a mod m的階等於φ(m),則稱a為模m的一個原根.(其中φ(m)表示m的歐拉函數) 假設一個數g是質數P的原根 ...
# 整數的階 根據歐拉定理aφ(n)≡1(mod n)">aφ(n) ≡ 1 (mod n),其中a與n互質,aφ(n ...
主要參考這里: http://www.cnblogs.com/autsky-jadek/p/7496178.html https://blog.csdn.net/a27038/article/d ...
原根 為了簡單起見,只考慮素數的情況。(並不是只有素數才有原根 定義:對於素數 $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 ...
幸運的原根如下: 有質數 \(p = k\cdot 2^r + 1\), 原根為 \(g\): 判斷代碼: \(p\) \(r\) \(k\) \(g\) 81788929 21 39 ...