模板——求单个数 欧拉函数值

ll getphi(ll n)
{
    ll ans=n;//容易记错;
    for(ll i=2;i*i<=n;++i)//sqrt即可
    {
        if(n%i==0)
        {
            ans=ans/i*(i-1);
            while(n%i==0)n/=i;
        }
    }
    if(n>1)ans=ans/n*(n-1);//别忘了;
    return ans;
}

猜你喜欢

转载自blog.csdn.net/qq_41661919/article/details/81677207
今日推荐