MLE(125MB)求助
查看原帖
MLE(125MB)求助
335552
Christophe_楼主2021/1/28 15:34
#include<cstdio>
using namespace std;
bool HW(int a){
	int temp=0,k=a;
	while(k){
		temp=temp*10+k%10;
		k/=10;
   }
   return a==temp;
}
int main(){
	int a,b;
	scanf("%d %d",&a,&b);
	int p[100000001]={1,1};
	for(int i=2;i<=b;++i){
		for(int j=2;j<=i;++j){
			if(!p[j]){
			   p[i*j]=1;
			   if(i%j==0) break;
			}
		}
	}
  for(int i=a&1?a:a+1;i<=b;i+=2){
     if((!(i>11&&i<101||i>929&&i<10301||i>98689&&i<1003001))&&(!p[i])&&HW(i))
        printf("%d\n",i);
	  else if(i>9989899) break;
  }
  return 0;
}

用欧拉筛做的,答案正确,但是所有点都MLE(125MB),请问问题出在什么地方?如何改进?

2021/1/28 15:34
加载中...