欧拉函数
1 #include<stdio.h> 2 #include<cmath> 3 int num[37279]; 4 int eular(int n) 5 { 6 int ret=1,i; 7 for(i=2;i*i<=n;i++) 8 if(n%i==0) 9 { 10 n/=i,ret*=i-1; 11 while(n%i==0) 12 n/=i, 13 ret*=i; 14 } 15 if(n>1) 16 ret*=n-1; 17 return ret; 18 } 19 int main() 20 { 21 int n; 22 scanf("%d",&n); 23 for(int i=0;i<n;i++) 24 { 25 int tmp; 26 scanf("%d",&tmp); 27 printf("%d\n",eular(tmp)); 28 } 29 return 0; 30 }