欧拉函数和欧拉定理

参考:​​欧拉函数​

欧拉函数:

欧拉函数,即\(\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)\)