因为在模意义下需要各种素数。 如果$r \cdot 2^k + 1 $ 是个素数,那么在\(\bmod r \cdot 2^k + 1\)意义下,可以处理 \(2^k\)以内规模的数据。 记录一下 \(a*2^k + 1\)型素数的原根 \(g\)。 \(a*2^k ...
因为在模意义下需要各种素数。 如果$r \cdot 2^k + 1 $ 是个素数,那么在\(\bmod r \cdot 2^k + 1\)意义下,可以处理 \(2^k\)以内规模的数据。 记录一下 \(a*2^k + 1\)型素数的原根 \(g\)。 \(a*2^k ...
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 ...
...
一个数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 ...