求优化时间复杂度
查看原帖
求优化时间复杂度
1435692
difficultlong楼主2024/10/2 17:38
#include<bits/stdc++.h>
using namespace std;
int s[50000001];
int n,q,h[1000001];
bool flag(int x){
	int j=2;
	bool f=true;
	while(j<=x-1){
		if(!(x%j)){
			f=false;
			break;
		}
		j++;
	}
	if(x==2){
		f=true;
	}
	return f;
}
int main(){
	int j=0;
	scanf("%d%d",&n,&q);
	for(int i=2;i<=n;i++){
		if(flag(i)){
			s[++j]=i;
		}
	}
	for(int i=1;i<=q;i++){
		scanf("%d",&h[i]);
		printf("%d\n",s[h[i]]);
	}
	return 0;
}

我已经优化了时间复杂度了,怎么还超时啊!!!

2024/10/2 17:38
加载中...