欧拉定理
2019-05-15 / Luo Jinrong
欧拉函数
- 欧拉函数$\phi (n)$指$1$至$n$以内,与$n$互质的数的个数
- 假如n可以通过质因数分解得到质因子$p_1,p_2,p_3…p_n$
- 则$\phi (n)=n(1-1/p_1)(1-1/p_2)(1-1/p_3)…(1-1/p_n)$
- 当n为质数时,$\phi (n)=n-1$
欧拉函数的性质
- 当m与n互质时,$\phi (mn)=\phi (n)*\phi (m)$
- 当n为质数时,$\phi (2n)=\phi (n)$
欧拉定理
若n与a互质,则$a^{\phi (n)}\equiv 1(mod n)$
利用该性质解决大数幂取模运算$a^x \mod n$,其中x与n互质
- 假设$x=m*(n-1)+t$
- 则$a^x \mod n=a^{n-1}a^{n-1}…a^{n-1}a^t \mod n$
- 因为$a^{\phi (n)}\equiv 1(mod n)$
- 所以$a^x \mod n=a^t \mod n$
- 即$a^x \mod n=a^{x \mod {n-1}}\mod n$
扩展欧拉定理
$$
a^x \mod n\equiv \begin{cases}
a^x,x<\phi (n) \\
a^{x\mod \phi (n)+\phi (n)}\mod n,x\geq \phi (n)
\end{cases}
$$
字符形式输入的大数取模处理方法
1 | ll mod(){//求b%f(m) |
return 0;
本文链接:
https://luojinrong.github.io/2019/05/15/欧拉定理/