关于##include#的问题,如何解决?

OJ提示时间超限,可以帮我改一下吗

题目描述
因为151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以151 是回文质数.
写一个程序来找出范围a,b间的所有回文质数;

输入
第 1 行: 二个整数 a 和 b .
输出
输出一个回文质数的列表,一行一个.
样例输入
5 500
样例输出
5
7
11
101
131
151
181
191
313
353
373
383

#include 
using namespace std;
bool isSymm(int a) {
    int  j, k=0;
    j = a;
    while (j > 0) {
        k = k*10+ j % 10 ;
        j /= 10;
    }
    if (k == a)return true;
    else return false;
}
int main()
{
    int a,b,i=2;
    cin>>a>>b;
    for(;a<=b;a++){
        while(a%i!=0 && i<=a-1)    
        {
            i++;
        }
        if (i>a-1 && isSymm(a))
        {
            cout<2;
    }
    return 0;
}

基于Monster 组和GPT的调写:


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

// 判断是否为回文数
bool isSymm(int a) {
    int j = a, k = 0;
    while (j > 0) {
        k = k * 10 + j % 10;
        j /= 10;
    }
    return k == a;
}

// 判断是否为质数
bool isPrime(int a) {
    if (a == 1) return false;
    if (a == 2) return true;
    for (int i = 2; i <= sqrt(a); i++) {
        if (a % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {
    int a, b;
    cin >> a >> b;
    for (int i = a; i <= b; i++) {
        if (isSymm(i) && isPrime(i)) {
            cout << i << endl;
        }
    }
    return 0;
}