唉,果然TLE了一个,喜提888/=10,那位大佬知道咋改

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

sqz11111 @ 2024-02-12 10:19:50

#include<bits/stdc++.h>
using namespace std;

int l,r;

bool ispa(int x){
    int a[20],cnt=1;
    while(x>0){
        a[cnt]=x%10;
        x/=10;
        cnt++;
    } 
    for(int i=1;i<=cnt/2;i++)
        if(a[i]!=a[cnt-i]) return false;
    return true;
} 

bool ispr(int x){
    for(int i=2;i<=sqrt(x);i++){
        if(x%i==0) return false;
    }
    return true;
}

int main(){
    cin>>l>>r;

    for(int i=l;i<=r;i++){
        if(ispa(i)&&ispr(i))
            cout<<i<<endl;
    }

    system("pause");
    return 0;
}

说白了我的就是暴力判 用ispr判是否是质数,ispa判断是否是回文


by luuia @ 2024-02-12 10:23:55

时间复杂度不对


by luuia @ 2024-02-12 10:26:13

不用判断除了 2 之外的偶数和除了 11 之外的有偶数位的回文数


by sqz11111 @ 2024-02-12 10:38:55

@luuia oooo AC 啦


|