hdu 1787 GCD Again
2013-05-22 08:44
351 查看
简单的欧拉函数……
#include<iostream>
using namespace std;
typedef __int64 int64;
//const long mod=1000000007;
int64 fun(int64 n)
{
int64 ans=1;
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{
n/=i;
ans=ans*(i-1);
while(n%i==0)
{
n/=i;
ans=ans*i;
}
}
}
if(n>1)
ans*=n-1;
return ans;
}
int main()
{
int64 n,sum;
while(scanf("%I64d",&n),n)
{
sum=n-fun(n)-1;
printf("%I64d\n",sum);
}
return 0;
}
#include<iostream>
using namespace std;
typedef __int64 int64;
//const long mod=1000000007;
int64 fun(int64 n)
{
int64 ans=1;
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{
n/=i;
ans=ans*(i-1);
while(n%i==0)
{
n/=i;
ans=ans*i;
}
}
}
if(n>1)
ans*=n-1;
return ans;
}
int main()
{
int64 n,sum;
while(scanf("%I64d",&n),n)
{
sum=n-fun(n)-1;
printf("%I64d\n",sum);
}
return 0;
}
相关文章推荐
- hdu 1787 GCD Again 欧拉函数
- HDU 1787 GCD Again (欧拉函数)
- HDU 1787 GCD Again (欧拉函数)
- 【hdu - 1787 GCD Again (数论、欧拉函数)】
- hdu 1787 GCD Again
- GCD Again HDU - 1787 (欧拉函数 or 容斥原理)
- HDU 1787 GCD Again
- hdu 1787 GCD Again (欧拉函数)
- HDU 1787 GCD Again(欧拉函数,水题)
- HDU 1787 GCD Again
- HDU 1787 GCD Again/HDU 2824 The Euler function(欧拉函数模板)
- hdu 1787 GCD Again
- 【hdu 1787】 GCD Again(根号n求phi)
- hdu 1787 GCD again
- hdu 1787 GCD Again 欧拉函数小水水 数论
- HDU 1787 GCD Again 欧拉函数
- HDU 1787 GCD Again
- 【杭电oj】1787 - GCD Again(欧拉函数)
- 杭电1787GCD Again(欧拉函数)
- HDOJ 题目1787 GCD Again(欧拉函数)