咋错的?
查看原帖
咋错的?
989399
louzezhong20130517楼主2023/10/2 18:25

Help!!!!!!!

#include<bits/stdc++.h>
using namespace std;
int v[100000010],prime[100000010];
void ol_prime(int n)
{
	int m=0;
	memset(v,0,sizeof(v));
	for(int i=2;i<=n;i++)
	{
		if(v[i]==0)
		{
			v[i]=i;
			prime[++m]=i;
		}
		for(int j=1;j<=m;j++)
		{
			if(prime[j]>v[i]||prime[j]>n/i)
			{
				break;
			}
			v[i*prime[j]]=prime[j];
		}
	}
}
int main(){
	int k;
	int n,q;
	cin>>n>>q;
	ol_prime(n);
	while(q--)
	{
		cin>>k;
		cout<<prime[k];
	}
	return 0;
}
2023/10/2 18:25
加载中...