集合[1,N]中与N互质的数的总数目。
欧拉定理(证明过程就免了):
n=P1^k1*P2^k2*.....Pr^kr(P是质数)
f(n)=P1^(k1-1)*(P1-1) * P2^(k2-1)*(P2-1)....Pr^(kr-1)*(Pr-1);
#include <stdio.h>
int euler(int x)
{
int result=1;
int i;
for(i=2;i*i<=x;i++)
{
if(x%i==0)
{
result*=i-1;
x/=i;
while(x%i==0)
{
result*=i;
x/=i;
}
}
}
if(x>1)
result*=x-1;
return result;
}
int main()
{
int T,n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
printf("%d\n",euler(n));
}
}