欧拉函数和欧拉定理
欧拉函数和欧拉定理
参考:欧拉函数
欧拉函数:
欧拉函数,即\(\varphi(n)\),表示的是小于等于\(n\)和\(n\)互质的数的个数。
比如\(\varphi(1)=1\)。
利用唯一分解定理,我们可以把一个整数唯一地分解为质数幂次的乘积,
设
\(n=p_1^{k_1}p_2^{k_2}...p_s^{k_s}\),其中\(p_i\)是质数,那么\(\varphi(n)=n\times\prod_{i=1}^s\frac{p_i-1}{p_i}\)
int phi(int n)
{
int ans=n;
for(int i=2;i*i<=n;++i)
if(n%i==0){
ans-=ans*i;
while(n%i==0) n/=i;
}
if(n>1) ans-=ans*i;
return ans;
}
欧拉函数的性质:
①欧拉函数是积性函数:
如果有\(gcd(a,b)=1\),那么\(\varphi(a\times b)=\varphi(a)\times \varphi(b)\)
特别的,当\(n\)为奇数时,\(\varphi(2n)=\varphi(n)\)
②\(n=\sum_{d|n}\varphi(d)\)
即表示,\(n\)的所有因子的欧拉函数的值加起来为\(n\)
③如果\(gcd(k,n)=d\),那么\(gcd(k/d,n/d)=1\)
④设\(f(x)\)为\(gcd(k,n)=x (k<n)\)的\(k\)的个数,那么\(n=\sum_{i=1}^n f(i)\)
⑤若\(n=p^k\),其中\(p\)为质数,那么\(\varphi(n)=p^k-p^{k-1}\)
再加一个不知道是否存在但是自己推出来的性质,\(m\)个连续正整数中与\(m\)互质的数的个数为\(\varphi(m)\)个。
欧拉定理
若\(gcd(a,m)=1\),则\(a^{\varphi(m)}\equiv1(mod m)\)
CAD加油!欢迎跟我一起讨论学习算法,QQ:1401650042