inarticulate_stupid @ 2023-05-15 20:30:20
#include<bits/stdc++.h>
using namespace std;
bool hwzs(int x){
int l,b=x,tj=0;
while(l){
l=b%10+l*10;
b/=10;
}
if(l!=x)return false;
else tj++;
if(x>=10&&x<100 && x!=11||x>=1000&&x<10000)return false;
else if(x>=100000 && x<1000000||x>=10000000&&x<100000000)return false;
else tj++;
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)return false;
if(tj==2)return true;
}
long long n,m;
int main(){
cin>>n>>m;
for(int i=n;i<=m;i++)
if(hwzs(i))cout<<i<<endl;
return 0;
}
帮忙看看!应用置顶题解的方法。
by Chenyufeng040525 @ 2023-05-16 12:09:23
@zhengdaxin l赋值那里错了,还有你可能要优化一下不然b取一亿时会TLE