欧拉函数表示的是0,1....n-1中和n互质的数的个数
模板参上:
int phi(int n)
{
int m=(int)sqrt(n+0.5);
int 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>1) ans=ans/n*(n-1);
return ;
}
本文介绍了一个计算欧拉函数的算法实现。欧拉函数用于求解0到n-1范围内与n互质的整数数量。文章提供的代码示例展示了如何通过筛选质因数并利用这些质因数来高效计算欧拉函数。
欧拉函数表示的是0,1....n-1中和n互质的数的个数
模板参上:
int phi(int n)
{
int m=(int)sqrt(n+0.5);
int 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>1) ans=ans/n*(n-1);
return ;
}
802

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