HDU 1953

#include<stdio.h>
#include<math.h>
long long int euler(long long int n)
{
long long int i,m = (int)sqrt(n+0.5),ans = n;
for(i = 2;i <= m;i++)
{
if(n%i==0)
ans = ans*(i-1)/i;
while(n%i==0)
n/=i;
}
if(n>1)
ans = ans*(n-1)/n;
return ans;
}
long long int a;
int main()
{
while(scanf("%lld",&a)!=-1&&a!=0)
{
printf("%lld\n",euler(a));
}
return 0;
}

 


posted on 2014-04-30 18:34  wangzhili  阅读(81)  评论(0编辑  收藏  举报