欧拉筛 全部都MLE了
查看原帖
欧拉筛 全部都MLE了
1147265
jam1270楼主2024/4/20 22:54

全部都MLE了

#include<iostream>
#include<bits/stdc++.h>
using namespace std; 
    bool Isprime(int);
    vector<int> eluer_sieve(int m){
    	
    	vector<int> result;
	    vector<bool> status(m+1,true);

	for(int i=2;i<=sqrt(m);i++){
		if(Isprime(i)){
			
			result.push_back(i);
			for(int j=0;j<result.size()&&result[j]*i>m;j++)
			{
			
			if(i%result[j]==0)
			break;
			status[result[j]*i]=false;
		}
		
			
		}
	}
	for(int l=sqrt(m)+1;l<=m;l++){
		if(status[l]==true)
		result.push_back(l);
	}
	 return result;
	
}
bool Isprime(int n){
	for(int i=2;i<=sqrt(n);i++){
		if(n%i==0)
		return false;
	}
	return true;
}
vector<int> eluer_sieve(int);
int main(){
	vector<int> res;
	int m,q;
	
	cin>>m>>q;
	res=eluer_sieve(m);
	
	for(int i=1;i<=q;i++){
		int seek;
		cin>>seek;
		cout<<res[seek-1]<<endl;
	}
	
}
2024/4/20 22:54
加载中...