标签:
1 #include<stdio.h>//mdd的烦恼(333) 2 #include<math.h> 3 int main() 4 { 5 long long n,i,res; 6 while(scanf("%lld",&n)!=EOF){ 7 res=n; 8 for(i=2;i<=sqrt(n+0.5);i++){ 9 if(n%i==0){ 10 res=res*(i-1)/i; 11 while(n%i==0){ 12 n=n/i; 13 } 14 } 15 } 16 if(n>1)res=res*(n-1)/n; 17 printf("%lld\n",res); 18 } 19 return 0; 20 }
//求欧拉函数(即n以内所有与n互质的数的个数)
// 设n的质因数分别为p1,p2,.....,pn
//f(x)=n*(1-p1)*(1-p2)*...*(1-pn)
//求与n互质的数之和S(x)=f(x)/2*x
标签:
原文地址:http://www.cnblogs.com/minimalism/p/4537607.html