最后的点TLE88分求助
查看原帖
最后的点TLE88分求助
739859
123WRz楼主2023/10/6 14:18
#include <bits/stdc++.h>
using namespace std;
bool is_prime(int n){
	if(n==1||n==0) return false;
	for(int i=2;i<=sqrt(n);i++){
		if(n%i==0){
			return false;
		}
	}
	return true;
}

bool hws(int k){
	int a[10],i=0;     
	while (k>0){a[i]=k%10;k/=10;i++;}
	for(int j=0;j<i;j++)if(a[j]!=a[i-j-1])return false;   
	return true;     
}
bool ws(int n){
	if(n>=10 && n<100 && n!=11 || n>=1000 && n<10000)return false;
	if(n>=100000 && n<1000000 || n>=10000000 && n<100000000)return false;
	return true;
}
int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	if(a==2) printf("2\n");
	if(a%2==0) a++;
	for(int i=a;i<=b;i+=2){
		if(!hws(i)) continue;
		if(!ws(i)) continue;
		if(!is_prime(i)) continue;
		printf("%d\n",i);
	}
}
2023/10/6 14:18
加载中...