版权声明:Dream_dog专属 https://blog.csdn.net/Dog_dream/article/details/82468802
欧拉函数定义:
小于或等于n且与n互质的数的个数 互质条件:gcd(a,b)=1;
φ(n)=n*(1-1/p1)*(1-1/p2)*...*(1-1/px) 其中:p1,p2..px 为n的质因数;
例:
φ(8)={1,3,5,7}=4=8*(1-1/2);
φ(7)={1,2,3,4,5,6}=6=7*(1-1/7);
欧拉函数的性质:
(1) φ(p^k)=(p-1)*p^(k-1) p为质数;
(2) φ(a*b)=φ(a)*φ(b) a,b互质
(3) 特殊性质:φ(2n)=φ(n) n为奇数
(4) φ(n)当n>2时为偶数
扫描二维码关注公众号,回复:
3231237 查看本文章
(5) 一个数的质因数之和为φ(n)*n/2
欧拉函数模板:
(1)
void init()
{
clr(eule,0);
eule[1]=1;
tot=0;
for(int i=2;i<maxn;i++)
{
if(!eule[i]){eule[i]=i-1;prime[tot]=i;tot++;}
for(int j=0;j<tot&&i*prime[j]<maxn;j++)
{
eule[i*prime[j]]=1;
if(i%prime[j]==0){eule[i*prime[j]]=eule[i]*prime[j];break;}//性质2和3
else {eule[i*prime[j]]=eule[i]*(prime[j]-1);}//性质2
}
eule[i]+=eule[i-1];
}
return ;
}
(2)
int get_phi(int x)
{
int res=x;
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
res=res/i*(i-1);
while(x%i==0)x/=i;
}
}
if(x!=1)res=res/x*(x-1);
return res;
}
费马小定理:
a^(p-1)≡1(mod p) p为素数且gcd(a,p)=1;
此定理是又欧拉函数定理可求得
欧拉扩展定理:
由于博主太菜相关证明都只是懵懂所以就只贴定理硬背着用