Eular函数

typedef long long llong;
llong Eular(llong n)
{
    int i;
    llong ret=n;
    for(i=2;i*i<=n;++i)
    {
    if(n%i==0)
    {
    ret-=ret/i;
    while(n%i==0)n/=i;
    if(n==1)break;
    }    
    }
    if(n!=1)ret-=ret/n;
    return ret;
}

你可能感兴趣的:(算法,函数,eular)