转载

线性筛素数模板

线性筛素数题目(持续更新)

\(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

正文到此结束
本文目录