寄()
开了-O2后不会T了
但是WA了一个点一直调不好
不知道是哪个corner case没考虑到还是写挂了
求助!
感谢大佬
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int a, b, cnt;
bool vis[100000005];
int prime[100000005];
bool ckrev(int t) {
int y = t;
int num = 0;
while (y != 0) {
num = num * 10 + y % 10;
y /= 10;
}
return num == t;
}
void sieve() {
for (int i = 2; i < b; i++) {
if (!vis[i]) {
prime[cnt++] = i;
}
for (int j = 0; j < cnt; ++j) {
if (1ll * i * prime[j] >= b) break;
vis[i * prime[j]] = 1;
if (i % prime[j] == 0) {
break;
}
}
}
}
int main() {
cin >> a >> b;
sieve();
int *beg = lower_bound(prime, prime + cnt, a);
int *ed = upper_bound(prime, prime + cnt, b);
for (int *j = beg; j < ed; j++) {
if (ckrev(*j)) cout << *j << endl;
}
return 0;
}
寄()
开了-O2后不会T了
但是WA了一个点一直调不好
不知道是哪个corner case没考虑到还是写挂了
求助!
感谢大佬