NYoj mdd的烦恼—333



#include<stdio.h>

void fn(int n)

{

int t=n;

for(int i=2; i*i<=n; ++i)

{ if(n%i == 0) t -= t/i;

while( ! (n%i))

n/=i;

}

if(n!=1) t = t/n*(n-1); printf("%d\n",t); }

int main()

{ int n;

while(scanf("%d",&n)!=EOF)

fn(n);

return 0;

} /* 欧拉函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn), 其中p1, p2……pn为x的所有质因数,x是不为0的整数。 φ(1)=1(唯一和1互质的数就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3,那么φ(12)=12*(1-1/2)*(1-1/3)=4) */

原文地址:https://www.cnblogs.com/yaling/p/2976358.html