vector<ll> factors(ll x){
vector<ll> fac;
ll y=x;
for(ll i=2;i*i<=x;i++){
if(y%i==0){
fac.push_back(i);
while(y%i==0)y/=i;
if(y==1)return fac;
}
}
if(y!=1)fac.push_back(y);
return fac;
}
ll Euler(ll n){
vector<ll> fac=factors(n);
ll ans=n;
for(auto p:fac)ans=ans/p*(p-1);
return ans;
}
欧拉函数
最新推荐文章于 2023-05-09 18:58:44 发布