快 读 读 不 进 来,求助qwq
查看原帖
快 读 读 不 进 来,求助qwq
233779
Dune_楼主2021/7/12 00:24
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
inline int read()
{
	int r = 0;
	int w = 1;
	char ch = getchar();
	if(ch < '0'||ch > '9')
	{
		if(ch == '-')
			w = -1;
		ch = getchar();
	}
	if(ch >= '0'&&ch <= '9')
	{
		r = (r<<1)+(r<<3)+ch-'0';
		ch = getchar();
	}
	return r*w;
}
int n,k,q;
int cnt = 0;
bool isprime[100000010];
int primelist[100000010];
void get_pri(int n)
{
	for(int i = 2;i <= n; ++i)
	{
		if(isprime[i])
			primelist[++cnt] = i;
		for(int j = 1;j <= cnt&&i*primelist[j] <= n; ++j)
		{
			isprime[i*primelist[j]] = false;
			if(i % primelist[j] == 0)
				break;
		}
	}
}
int main()
{
	n = read();
	q = read();
	memset(isprime,true,sizeof(isprime));
	isprime[1] = false;
	get_pri(n);
	while(q--)
	{
		k = read();
		printf("%d\n",primelist[k]);
	}
	return 0;
}
2021/7/12 00:24
加载中...