@rebirth1120
2020-05-21T10:37:46.000000Z
字数 442
阅读 1008
数学
数论
中与 互质的数的个数被称为欧拉函数,记为 。
若根据算数基本定理,,则
根据计算式可知,我们只需分解质因数,就可以顺便求出欧拉函数。
int Euler(int n){
int ans=n;
for(int i=2;i<=sqrt(n);i++){
if(n%i) continue;
ans=ans/i*(i-1);
while(n%i==0) n/=i;
}
if(n>1) ans=ans/n*(n-1);
return ans;
}