1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<math.h> 5 using namespace std; 6 int main() 7 { 8 int eular(int n); 9 int n; 10 while(scanf("%d",&n)!=EOF) 11 { 12 printf("%d ",eular(n)); 13 } 14 return 0; 15 } 16 int eular(int n) 17 { 18 int ret=1,i; 19 for(i=2;i*i<=n;i++) 20 if(n%i==0) 21 { 22 n/=i,ret*=i-1; 23 while(n%i==0) 24 n/=i,ret*=i; 25 } 26 if(n>1) 27 ret*=n-1; 28 return ret; 29 }
具体看不懂的 看下面的百科http://baike.baidu.com/view/107769.htm