int mpf[N+1]; //mpf[i] = x,则x为i的最大因子(素数)
void maketable() //求出每个数的最大因子
{
int i,j;
memset(mpf,0,sizeof(mpf));
mpf[0]=0;
mpf[1]=1;
for(i=2;i<=N;i+=2)
mpf[i]=2; /* 对于偶数,令其因子暂时为2 */
for(i=3;i<=N;i+=2) /* 对于素数i,设置j=k*i的暂时因子为i */
if(0==mpf[i])
for(j=i;j<=N;j+=i)
mpf[j]=i;
}
题目参考链接
点击打开链接http://blog.csdn.net/qq_40679299/article/details/79245494
最大因子(素数)模板
最新推荐文章于 2021-05-20 15:43:17 发布