对于正整数,gcd(a,b)=1,则称a,b互质。
若gcd(a,b,c)=1,则称a,b,c互质,gcd(a,b)=gcd(a,c)=gcd(b,c)=1,则称a,b,c两两互质。
欧拉函数:
1-N中与N互质的数的个数被称为欧拉函数,即为φ(N).
若N=p1c1p2c2p3c3…pmcm
则:
φ(N)=n (p1-1)/(p1) *(p2-1)/(p2)*……(pm-1)/pm*
代码如下
在分解质因数的同时可将欧拉函数求出
int oula(int a){
ans=a;
for(int i=2;i<=a/i;i++){
if(a%i==0){
ans=ans/i*(i-1);
while(a%i==0)a=a/i;
}
}
if(a>1)ans=ans/a*(a-1);
return ans;
}
*相关性质
1.n>1,1~n中与n互质的数的和为n*φ(n)/2.
2.若a,b互质,则φ(ab)=φ(a)φ(b).