输不出来,求助
查看原帖
输不出来,求助
1129279
liangcha_crush_ly楼主2024/8/28 22:34

rt

#include<iostream>

using namespace std;
int n,q,a[100001],x,answer[100001],cnt;
void find(int n){
	for(int i=2;i<=n;i++){
		if(a[i])continue;
		answer[++cnt]=i;
		for(int j=1;j<=cnt&&i*answer[j]<=n;j++){
			a[i*answer[j]]=1;
			if(i%answer[j]==0){
				break;
			}
		}
	}
	return;
}
signed main(){
	cin>>n;
	find(n);
	for(int i=1;i<=q;i++){
		scanf("%d",&x);
		printf("%d\n",answer[x]);
	}
	return 0;
}
2024/8/28 22:34
加载中...