小白求助最后一个点MLE??
查看原帖
小白求助最后一个点MLE??
675527
Play_CP_4fun楼主2022/3/31 19:13
#include <bits/stdc++.h>

using namespace std;

int check1[100000005] = {0}, check2[50000005] = {0}; // 0´ú±íÊÇÖÊÊý£¬1´ú±í ²»ÊÇÖÊÊý£¬ÀÁµÃдһÐдúÂëµ÷»»¹ýÀ´ÁË¡£¡£¡£ 
bool is_palindrome(int x) {
	string s = to_string(x);
	int check = s.length() - 1;
	for (int i = 0; check >= i; i++) {
		if (s[i] == s[check]) {
			check--;
		}
		else {
			return 0;
		}
	}
	return 1;
}
int main() {
	int a, b, cnt = 0;
	cin >> a >> b;
	if (b >= 100000000) b = 100000000;
	
	for (int i = 2; i <= b; i++) {
		if (2 * i > b) break;
		if (check1[i] == 0) check2[cnt++] = i;
		for (int j = 0; check2[j] != 0; j++) {
			if (i * check2[j] > b) { break; }
			check1[i * check2[j]] = 1;
			if (!(i % check2[j])) {
				break;
			}
		}
	}
	
	for (int i = a; i <= b; i++) {
		if (!check1[i] && is_palindrome(i)) {
			cout << i << "\n";
		}
	}
	return 0;
}

是1e8的数组不可以定义为全局数组吗,也用了欧拉筛了,是miss了什么小细节吗,望各位指点一二

2022/3/31 19:13
加载中...