TLE on last

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

chenhongyicc @ 2023-01-16 09:28:02

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,i,j,t;
string s1,s2;
ll cnt = 0;
bool flag = true;
bool zhi(int x){ // 质数
//  if(s=="M")return 0;
//  if(s[s.length()-1]=='S')return -s.length();
//  return s.length();
    for(int i = 2 ;i<=sqrt(x); i++){
        if(x%i == 0) return false;
    }
    return true;
}
int hw(int x){ //回文
    int t = x, xx = 0;
    while(t){
        xx = xx * 10 + t % 10;
        t/=10;
    }
    return xx == x;
}
bool fulls(int x){ // ÍêÈ«Êý 
    int sum = 1;
    for(int i = 2;i<=sqrt(x);i++){
        if(x%i == 0) sum+=i+x/i;
    }
    if(x == sum) return true;

    else return false;
}
bool lastx(int x){
    if (x == 11) return true;
    int cnt = 0;
    while(x){
        x/=10;
        cnt++;
    }
    if(cnt%2==0) return false;
    else return true;
}
int main(){
    scanf("%d%d",&n,&t);
    for(int i = n ;i<=t;i++){
        if(hw(i) && zhi(i)) printf("%d\n",i);
    }

// tle on last 88 pts
    return 0;
}

最后一个点TLE,也想不到有啥可优化的了,求助。


by Unknown___Error @ 2023-01-16 09:46:43

你应该枚举回文数判断质数,而不是枚举所有数判断回文和质数


by chenhongyicc @ 2023-01-17 16:51:56

@Unknown___Error 哦哦哦,好的好的 谢谢大佬


|