我爱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日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了