neuler(m) 是从1,到m与m互质的数字的个数
n定理![]()
long long euler(long long n)
{
long long i,m=(int)sqrt(n+0.5),ans=n;
for(int i=2;i<=m;i++)
{
if(n%i==0)ans=ans/i*(i-1);
while(n%i==0)n/=i;
}
if(n)ans=ans/n*(n-1);
return ans;
}
{
long long i,m=(int)sqrt(n+0.5),ans=n;
for(int i=2;i<=m;i++)
{
if(n%i==0)ans=ans/i*(i-1);
while(n%i==0)n/=i;
}
if(n)ans=ans/n*(n-1);
return ans;
}
本文介绍了一种计算欧拉函数的高效算法,该算法能够快速找出从1到n与n互质的数字个数。通过分解质因数并利用欧拉函数性质进行优化,大大提升了计算效率。
825

被折叠的 条评论
为什么被折叠?



