int n;//求1 ~ n之间的素数
int prime[N],cnt;//prime数组存放素数 cnt为prime的长度
int st[N];//数字i是否为素数
void euler(){
for(int i=2;i<=n;i++){
if(!st[i]){
prime[++cnt]=i;
}
for(int j=1;j<=cnt&&prime[j]<=n/i;j++){
st[i*prime[j]]=1;
if(i%prime[j]) break;
}
}
return ;
}
相关文章
- 11-04The Euler function(欧拉函数预处理+素数筛+一维数组前缀和)
- 11-04The Euler function 线性筛法求欧拉函数
- 11-04欧拉筛与素数判定
- 11-04洛谷P1390 公约数的和 欧拉函数+容斥+线性筛
- 11-04线性筛/欧拉筛/莫比乌斯函数
- 11-04Dirichlet's Theorem on Arithmetic Progressions POJ - 3006 线性欧拉筛
- 11-04素数筛选法(埃氏筛 欧拉筛)
- 11-04欧拉函数线性筛
- 11-04Sum of Consecutive Prime Numbers POJ - 2739 线性欧拉筛(线性欧拉筛证明)
- 11-04【数学】线性筛法求欧拉函数