φ函数的值
通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)……(1-1/pn)
当中p1, p2……pn为x的全部质因数。x是不为0的整数。φ(1)=1(唯一和1互质的数(小于等于1)就是1本身)。 (注意:每种质因数仅仅一个。比方12=223那么φ(12)=12*(1-1/2)*(1-1/3)=4
若n是质数p的k次幂。φ(n)=p^k - p^(k-1)=(p-1) p^(k-1)。由于除了p的倍数外,其它数都跟n互质。
设n为正整数,以 φ(n)表示不超过n且与n互
素的正整数的个数。称为n的欧拉函数值,这里函数
φ:N→N,n→φ(n)称为欧拉函数。
欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)。
特殊性质:当n为奇数时,φ(2n)=φ(n), 证明与上述类似。
void init(){
f[1]=1;
prime[0]=prime[1]=1;
for(int i=2;i<=1e7;i++){
if(prime[i]==0){
pre[++cnt]=i;
f[i]=i-1;
}
for(int j=1;j<=cnt&&pre[j]*i<=1e7;j++){
prime[i*pre[j]]=1;
f[i*pre[j]]=f[i]*f[pre[j]];
if(i%pre[j]==0){
f[i*pre[j]]=f[i]*(f[pre[j]]+1);
break;
}
}
}
}