TLE 7 8 9

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

BLACK_MANBA @ 2023-01-27 14:55:56

#include<bits/stdc++.h>
using namespace std;
int a,b;
int zs(int x){//判断质数
    if(x==1) return 0;//特判1
    if(x%2==0) return 0;//是2的倍数都舍掉
    else{//枚举
        for(int i=2;i*i<=x;i++){
            if(x%i==0)
                return 0;
        }
        return 1;
    }
}
int hw(int x){//类似数字反转,判断回文
    int cnt=0;
    int s=x;
    while(x!=0){
        cnt=cnt*10+x%10;
        x/=10;
    }
    if(cnt==s) return 1;
    else return 0;
}
int main(){
    cin>>a>>b;
    for(int i=a;i<=b;i++){
        if(i==9989900) break;
        if(zs(i) and hw(i))//回文与质数双双通过
            cout<<i<<endl;
    }
    return 0;
}

样例过了


by Jerry_AC @ 2023-01-27 14:59:29

@CM_repairman 您是否可以考虑一下这个算法的复杂度?


by BLACK_MANBA @ 2023-01-27 15:27:10

@zyh0423

所以要怎么改呢


|