level 3
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int a){
for(int i = 2; i <= sqrt(a); i++){
if(a % i == 0)
return false;
}
return true;
}
int main()
{
int a, b;
cin >> a >> b;
string tmp = to_string(b);
vector<int> index;
int c = stoi(tmp.substr(0, (tmp.size() / 2 + 1)));
for(int i = 1; i <= c; i++){
string tmp1 = to_string(i);
string tmp2 = tmp1;
reverse(tmp2.begin(), tmp2.end());
int aa = stoi(tmp1 + tmp2);
if(aa <= b && aa >= a)
index.push_back(aa);
string tmp3 = (tmp1.substr(0, (tmp1.size() -1)));
reverse(tmp3.begin(), tmp3.end());
int bb = stoi(tmp1 + tmp3);
if(bb <= b && bb >= a)
index.push_back(bb);
}
sort(index.begin(), index.end());
for(auto a : index)
if(isPrime(a))
printf("%d\n", a);
}
2022年10月18日 15点10分
4
当字符串处理 一亿个数就按数位截一半 穷举回文数 再判断质数
2022年10月18日 15点10分
普通筛法在筛质数时就超时了
2022年10月18日 22点10分
筛回文确实挺好的,学到了
2022年10月18日 22点10分
哦,我觉得可行
2022年10月18日 22点10分
level 1
vector过大建议reserve()预留足够大空间,然后输出流不用endl用“\n”防止缓冲刷新,开头可加个sync_with_stdio(false)禁止同步提速cout
2022年10月18日 17点10分
5