m0_64123291 2023-05-02 17:34 采纳率: 60%
浏览 38

关于回文素数的问题,如何解决?

问题 K: 神奇的素数II
题目描述
zls对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在chshru想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000);
输入
这里有许多组数据,每组包括两组数据a跟b。
输出
对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。
样例输入复制
5 500
样例输出复制
5
7
11
101
131
151
181
191
313
353
373
383

我写的代码只能通过一半的数据,最后显示的错误是
Expected | Yours
727 727
757 757
787 787
797 797
919 919
929 929
10301 10301
10501 10501
10601 10601
11311 11311
11411 11411
12421 1
最后一个莫名其妙输出的一,但是我用devc++测试了一下,又是和答案输出的一样,所以不知道是网站问题还是什么问题
附上dev测试图片

img

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define endl '\n'
const int maxn=1e8;
bool dp[maxn];
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    stack<int>c;
    ll a,b;
    cin>>a>>b;
    for(ll i=1; i<=b; i++)
        dp[i]=true;
    dp[0]=false;
    dp[1]=false;
    for(ll i=2; i*i<=b; i++) {
        if(dp[i]) {
            for(ll j=i*i; j<=b; j+=i) {
                dp[j]=false;
            }
        }
    }
    for(ll i=a; i<=b; i++) {
        if(dp[i]) {
                ll num = 0;
                ll j=i;
                while(j!=0) {
                    num =num*10+j%10;
                    j/= 10;
                }
                if(i==num)cout<<i<<endl;
        }
    }
    return 0;
}

  • 写回答

2条回答 默认 最新

  • johnny233 Java后端领域新星创作者 2023-05-02 18:32
    关注

    什么网站?初步看起来是这个在线coding网站的问题

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月2日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址