欧拉函数的通式:φ(n)=n(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)……(1-1/pn)**
欧拉函数–模板
int main() {
int n;
cin>>n;
int res=n;
for(int i=2;i*i<=n;++i) {
if(n%i==0) {
res=res/i*(i-1);
}
while(n%i==0) n/=i;
}
if(n>1) res=res/n*(n-1);
cout<<res<<endl;
return 0;
}
打表法:
void euler() {
for(int i=2;i<=maxx;++i) {
if(!a[i])
for(int j=i;j<=maxx;j+=i) {
if(!a[j]) a[j]=j;
a[j]=a[j]/i*(i-1);
}
}
}