我爱OJ 2023-02-19 17:39 采纳率: 78.8%
浏览 40
已结题

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

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

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

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

#include <bits/stdc++.h>
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<<a<<endl;
        }    
        i=2;
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-19 17:42
    关注

    基于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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月27日
  • 已采纳回答 2月19日
  • 创建了问题 2月19日

悬赏问题

  • ¥15 制裁名单20240508芯片厂商
  • ¥20 易康econgnition精度验证
  • ¥15 线程问题判断多次进入
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接