#include<stdio.h>
#define LL long long
LL euler_phi(LL n)
{
LL res=n;
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{
res=res/i*(i-1);
for(;n%i==0;n/=i);
}
}
if(n!=1)
res=res/n*(n-1);
return res;
}
int main()
{
LL x;
while(~scanf("%lld",&x)&&x)
printf("%lld\n",euler_phi(x));
return 0;
}
poj 2407 求欧拉函数
最新推荐文章于 2021-03-17 19:06:12 发布