最后一个点TLE 都用了埃氏筛 我为啥就TLE 求各位大神指点
查看原帖
最后一个点TLE 都用了埃氏筛 我为啥就TLE 求各位大神指点
386737
Mei_Misaki楼主2020/11/25 17:10

最后一个点一个亿太炸了
怎么改都没用
把偶数去了也没用
各位大佬求指点
求指点\

#include<bits/stdc++.h> 
using namespace std; 
bool a[1000000000]; 
void f(int n){
	a[0]=a[1]=1; 
	for(int i=2;i*i<=n;i++){
		if(!a[i]){
			for(int j=i*i;j<=n;j+=i){
				a[j]=1;
			}
		}
	}
}
 

bool hui(int x){
	int y=x,num=0;
		while (y!=0)
	    {
	        num=num*10+y%10;
	        y/=10;
	    } 
	    if (num==x) return 1;
	    else return 0;
}
int main(){
	int n,m; 
	cin>>n>>m; 
	
	
	 
	f(m); 
	if(n%2==0){
		n++;
	}
	for(int i=n;i<=m;i+=2){
		if(a[i]==0){
			if(hui(i)==1){
				cout<<i<<endl;
			}
		}
	}
	return 0;
}
2020/11/25 17:10
加载中...