欧拉函数打表
求任意一个数的欧拉函数值
long long Euler(long long num)
{
long long temp=num;
for(long long i=2;i*i<=num;i++)
if(num%i==0)
{
while(num%i==0)
num=num/i;
temp=temp/i*(i-1);
}
if(num!=1)
temp=temp/num*(num-1);
return temp;
}
欧拉函数打表
for(i=1; i<=maxn; i++)
p[i]=i;
for(i=2; i<=maxn; i+=1)
if(p[i]==i)
{
for(j=i; j<=maxn; j+=i)
p[j]=p[j]/i*(i-1);
}
浙公网安备 33010602011771号