社区讨论

线性筛但TLE改对必关

P3383【模板】线性筛素数参与者 9已保存回复 12

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
12 条
当前快照
1 份
快照标识符
@mhj0fsfu
此快照首次捕获于
2025/11/03 18:41
4 个月前
此快照最后确认于
2025/11/03 20:29
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e8;
int prime[N],n,q,k,mark=1;
bool vis[N];
bool Is_Prime(int x) {
	for(int i=2; i<sqrt(x); i++) if(x%i==0) return 0;
	return 1;
}
int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	memset(vis,0,sizeof vis);
	cin>>n>>q;
	for(int i=2; i<=n; i++)
		if(!vis[i]) {
			if(Is_Prime(i)) {
				prime[mark]=i;
				mark+=1;
				for(int j=i; j<=n; j+=i)
					vis[j]=1;
			} else vis[i]=1;
		}
	while(q--) {
		cin>>k;
		cout<<prime[k]<<'\n';
	}
	return 0;
}

回复

12 条回复,欢迎继续交流。

正在加载回复...