大佬求救 最后三个TLE了
查看原帖
大佬求救 最后三个TLE了
1421162
FeatQ楼主2025/1/17 19:10
#include <bits/stdc++.h>
using namespace std;
//质数判定 
bool isPrime(int n){
	if(n <= 1) return false;
	if(n == 2) return true;
	if(n % 2==0) return false;
	for(int i=3;i<=sqrt(n);i+=2){
		if(n % i == 0) return false;
	}
	return true;
}

//回文判定
bool isPall(string str){
	int left = 0,right = str.size() - 1;
	
	while(left < right){
		if(str[left] != str[right]) return false;
		left++;
		right --;
	}
	return true;
} 

int a,b;
int main(){
	cin >> a >> b;
	if(a%2 != 0){
		for(int i=a;i<=b;i+=2){
			if(isPrime(i)){
				if(isPall(to_string(i))){
					cout << i << endl;
				}
			}
		}
	}else{
		if(isPrime(a)){
			if(isPall(to_string(a))){
				cout << a << endl;
			}
		}
		for(int i=a+1;i<=b;i+=2){
			if(isPrime(i)){
				if(isPall(to_string(i))){
					cout << i << endl;
				}
			}
		}
	}

}
2025/1/17 19:10
加载中...