欧拉筛全re求助
查看原帖
欧拉筛全re求助
230857
鹿目圆楼主2021/9/7 15:46
#include<bits/stdc++.h>
using namespace std;
int prime[1000000];
bool vis[100000000];
int ans;
int n,q;
int main()
{
	scanf("%d%d",&n,&q);
	for(int i=2;i<=n;i++)
	{
		if(!vis[i]) prime[++ans]=i;
		for(int j=1;prime[j]*i<=n&&j<=ans;j++)
		{
			vis[prime[j]*i]=1;
			if(i%prime[j]==0) break;
		}
	}
	for(int i=1;i<=q;i++)
	{
		int x;
		cin>>x;
		printf("%d\n",prime[x]);
	}
	return 0;	
} 
2021/9/7 15:46
加载中...