给一个n,当n为0时停止输入
赤裸裸地求欧拉函数值。。。。。
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
long long euler(long long n)//求n的欧拉函数
{
long long ans=1,i;
for(i=2;i*i<=n;i++)
if (n%i==0)
{
ans*=i-1; n/=i;
while(n%i==0)
{ ans*=i; n/=i; }
}
if (n>1) ans*=n-1;
return ans;
}
int main()
{
long long n;
while(scanf("%lld",&n),n)
{
printf("%lld\n",euler(n));
}
return 0;
}