求!88分,最后一个TLE。

P1217 [USACO1.5] 回文质数 Prime Palindromes

TYC100132 @ 2024-12-02 14:02:56

#include<bits/stdc++.h>
using namespace std;
long long a,b;
bool hws(int x){
    vector<int> a(20,0);
    int t=0;
    for(int i=x;i>0;i=i/10) a[++t]=i%10;
    for(int i=1,j=t;i<j;i++,j--)
        if(a[i]!=a[j]) return false;
    return true;
}
bool zs(int x){
    if(x==1) return false;
    for(int i=2;i*i<=x;i++)
        if(x%i==0) return false;
    return true;
}
int main(){
    scanf("%lld%lld",&a,&b);
    for(int i=a;i<=b;i++)
        if(hws(i)&&zs(i)) cout<<i<<endl;
    return 0;
}

by wxc_1 @ 2024-12-03 22:54:40

非常简单的判别方法,在判断回文数之前直接模2,3,4删掉一部份非质数数就过了


|