真香警告AQA @ 2024-10-09 14:32:22
1.67s,最后一个点TLE,还有什么点可以优化啊各位大犇救救TAT
#include<bits/stdc++.h>
int main(){
std::ios::sync_with_stdio(0);
std::cin.tie(0), std::cout.tie(0);
long long int a,b;
std::string s;
std::cin>>a>>b;
for(int i=a;i<=b;i++){//遍历开始
bool judge=true;
s=std::to_string(i);//把i转成字符串判断回文
if(i%2==0||s.length()%2==0&&i%11!=0) continue;//2的倍数舍去,偶数位数不能与11整除的舍去
for(int j=0;j<=s.length()/2;j++){
if(s[j]!=s[s.length()-1-j]) judge=false;
}//判断回文
if(judge){
for(int j=3;j<=sqrt(i);j+=2){//遍历至i^(1/2)判断是否为素数
if(i%j==0){
// cout<<j;
judge=false;
break;
}
}
}
if(judge) std::cout<<s<<"\n";
}
}