我的线性筛为什么全RE???
  • 板块学术版
  • 楼主ko_no_lzx_da
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/11/20 19:56
  • 上次更新2023/10/27 02:09:51
查看原帖
我的线性筛为什么全RE???
418419
ko_no_lzx_da楼主2022/11/20 19:56
#include<iostream>
#include<cmath>
#include<map>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<vector>
#include<stack>
using namespace std;
int r(){
	int x = 0, f = 1;
	char c = getchar();
	while(c < '0' || c > '9'){
		if(c == '-'){
			f = -1;
		}
		c = getchar();
	}
	while(c >= '0' && c <= '9'){
		x = x*10+c-'0';
		c = getchar();
	}
	return x*f;
}
long long n,q,k,cnt;
long long ss[1000001];
int pd[1000001];
void shai(int n){
	memset(pd,1,sizeof(pd));
	pd[1]=pd[0]=0;
	for(int i=2;i<=n;i++){
		if(pd[i]){
			ss[++cnt]=i;
		}
		for(int j=0;j<=cnt&&ss[j]*i<=n;j++){
			pd[ss[j]*i]=0;
			if(i%ss[j]==0)break;
		}
	}
}
int main(){
	n=r();
	q=r();
	shai(n);
	for(int i=1;i<=q;i++){
		k=r();
		cout <<ss[k]<<endl;
	}
	return 0;
}
2022/11/20 19:56
加载中...