E(k)=(p1-1)(p2-1)...(pi-1)*(p1^(a1-1))(p2^(a2-1))...(pi^(ai-1))
= k*(p1-1)(p2-1)...(pi-1)/(p1*p2*...*pi)
= k*(1-1/p1)*(1-1/p2)...(1-1/pk) //p1*p2*p3*p4*p5....=K,E(K)=(p1-1)*(p2-1)*(p3-1).......
欧拉函数
int Eular(int n)
{
int ans=1;
for (int i=2;i<=sqrt((double)n);i++)
{
if (n%i==0)
{
n/=i;
ans*=(i-1);
//若n有个因子是i的k次,根据欧拉公式有下面的代码
while (n%i==0)
{
n/=i;
ans*=i;
}
}
}
if (n>1) //若最后剩的数为大于5的素数,根据欧拉公式再算进去 ,理由性质1
ans*=(n-1);
return ans;
}