社区讨论
全RE求调
P3383【模板】线性筛素数参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mk6ii3ca
- 此快照首次捕获于
- 2026/01/09 14:45 2 个月前
- 此快照最后确认于
- 2026/01/11 16:25 2 个月前
C
#include <stdio.h>
#include <stdlib.h>
char nums[10000010] = {0};
int Prime[8000000] = {0};
void E_sieve(int n){
nums[0] = 1;
nums[1] = 1;
int idx = 0;
for(int i = 2;i <= n;i++){
if(!nums[i]){
Prime[idx++] = i;
}
//内层循环用以遍历已确定是质数的数组
for(int j = 0; j < idx && 1LL*i*Prime[j] <= n*1LL;j++){
nums[Prime[j]*i] = 1;
if(i%Prime[j] == 0){
break;
}
}
}
}
int main(){
int n,q,k;
scanf("%d%d",&n,&q);
E_sieve(n);
while(q--){
scanf("%d",&k);
printf("%d\n",Prime[k-1]);
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...