线性筛素数题目(持续更新)
\(1.\) \(Maximum\) \(and\) \(Calculator\) (需要该篇博文的阅读密码)
线性筛素数
细节:为了反复计算,要清空 \(v\) 数组;要遍历筛范围内的所有数;内层只运行到最小质因子处;赋值赋最小质因子。
\(View\) \(Code\)
int n,v[MAXN],pr[MAXN],num;
inline void primes()
{
memset(v,0,sizeof(v));
for(register int i=2;i<=n;i++)
{
if(!v[i])
{
v[i]=i;
pr[++num]=i;
}
for(register int j=1;j<=num;j++)
{
if(v[i]<pr[j]||n/i<pr[j])
break;
v[pr[j]*i]=pr[j];
}
}
}
转载于:https://www.cnblogs.com/Peter0701/p/11351750.html
相关资源:JAVA上百实例源码以及开源项目