Problem Description

xiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000);

Input

这里有许多组数据,每组包括两组数据a跟b。

Output

对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。

Sample Input

 

5 500

Sample Output

 

5 7 11 101 131 151 181 191 313 353 373 383

这个题目,如果范围比较小,判断是否素数,判断是否回文,两个函数+1个主程序里面的for循环就搞定。

但是 这个需要判断到100,000,000  == 1亿!!而且这个题目让人难受的是 需要先自己打表,这样才知道最大的回文素数是9989899。所以说感觉缺少条件,需要自己先探索,然后为了满足内存和时间要求再做题,真让人难受,我不喜欢。

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <map>
#include <stack>
using namespace std;bool judge[10000001];//判断 0- 1000W之间 谁是素数 //bool 1个字节,int 4个字节int prime[100000]; //存放素数
int cnt = 0;bool isHuiwen(int n) {//简单的栈 存放各个位数int temp[10];int cnt = 0;//存入temp数组while(n > 0) {temp[cnt++] = n % 10;n /= 10;}//检测是否回文,maxIndex 最大下标:若5位数,处理完cnt = 5, 存储范围 0 - 4,int maxIndex = cnt - 1;for (int i = 0; i <= cnt / 2; i++) {if (temp[i] != temp[maxIndex - i]) {return false;}}return true;
}//打表
void initial(int bound) {//01不是素数judge[0] = 0;judge[1] = 0;//初始化 , 默认全是素数for (int i = 2; i <= bound; i++) {judge[i] = 1;}//素数的倍数全都不是素数,从2开始标注2-4-6....,遇到下一个数3肯定是素数,标注3的倍数,打出素数表for (int i = 2; i <= bound; i++) {if(judge[i] == 1) {for (int j = 2 * i; j <= bound; j += i) {judge[j] = 0;}}}
}int main() {int a, b;cin >> a >> b;initial(10000000);for (int i = a; i <= b && i <= 10000000; i++) {if (judge[i] && isHuiwen(i)) {cout << i << endl;}}cout << endl;
}

回文素数(杭电OJ,不喜欢这个题)相关推荐

  1. JAVA爬虫练习~通过杭电oj账号查询做题数

    1 首先我们来看一下 效果: 通过查找我们得到 了AC做题数 , 我们爬取HTML代码 , 通过自己的逻辑 筛选 所需要的信息 接下来是代码: package day_1;import java.io ...

  2. 杭电OJ(HDOJ)入门题目列表

    杭电OJ链接: http://acm.hdu.edu.cn/ 注册与使用指南: https://blog.csdn.net/qq_38769551/article/details/101510000 ...

  3. C++描述杭电OJ 2012.素数判定 ||

    C++描述杭电OJ 2012.素数判定 || Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<= ...

  4. C++描述杭电OJ 2012. 素数判定 ||

    C++描述杭电OJ 2012. 素数判定 || Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y< ...

  5. 杭电OJ分类题目(2)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(2) HDU Water~~~ HDU 100 ...

  6. 杭电OJ第11页2035~2039算法题(C语言)

    目录 2035.人见人爱A^B 2036.改革春风吹满地 2037.今年暑假不AC 2038.Message 2039.三角形 2035.人见人爱A^B Problem Description 求A^ ...

  7. 杭电OJ第11页2065~2069算法题(C语言)

    目录 2065."红色病毒"问题 2066.一个人的旅行 2067.小兔的棋盘 2068.RPG的错排 2069.Coin Change 2065."红色病毒" ...

  8. 用python爬取杭电oj的数据

    暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码 ...

  9. 杭电oj1620题c语言答案,杭电oj部分水题 c语言源代码.doc

    杭电oj部分水题 c语言源代码 殿剐忱酪短祭幂曝沈脸蛀蓑挞姻扶宠秤蓄幌榆矾巨旷于渍弯史影得熄孟椒菊葫彦籍蛛绊趣庙捣载睹答赊索添垛蝎伙生瞎回悟辅篇狱辗歧病氯急迸怜煽跋屋凡逻甲确烧迟卞姻郸被康少辊蒂刽厂礁 ...

最新文章

  1. Python获取当前脚本绝对路径
  2. HighCharts点击柱形或饼块等加URL或Click事件
  3. AcWing 1381. 阶乘
  4. 移动终端CPU、GPU浅析
  5. weblogic进程自动关闭_手机总是清理内存?原来是6个设置没关,1秒关闭多用3年...
  6. linux是用于汇编语言,深入理解程序设计:使用Linux汇编语言
  7. 【渝粤教育】国家开放大学2019年春季 1250文论专题 参考试题
  8. 误删PPT文件,如何用EasyRecovery自救?
  9. sqlserver min函数其他set操作消除了null值_数据库常用SQL操作篇
  10. java进度条代码,java进度条代码该怎么编写?
  11. 高德地图 经纬度查询位置
  12. 黑苹果Win与Mac时间同步工具
  13. 操作系统系列常见八股文
  14. 用计算机说出人说的话,用计算机语言说一句情话
  15. 笔记本电脑HDMI口突然不好使
  16. Tungsten Fabric知识库丨关于OpenStack、K8s、CentOS安装问题的补充
  17. PyQt5 密码输入框
  18. python 提取视频中的音频 | Python工具类
  19. windows删除远程桌面连接记录 | 历史IP记录
  20. 珍藏版linux运维笔试题

热门文章

  1. 有情感会说话,虚拟人脸Zoe诞生
  2. 网络连接正常,浏览器显示无法访问
  3. Ubuntu下Meshlab无法链接obj文件或者无法打开外挂硬盘的obj文件
  4. 设计模式 | 模板模式
  5. FPGA自学之路1(半加器和全加器的实现)
  6. 【java基础,IO合集】文件流、高级流(缓冲流、对象流)、 序列化接口java.io.Serrializable
  7. [P1726]上白泽慧音
  8. 世界科学、技术、工业革命趋势分析
  9. Java按照word模板导出、下载文档
  10. 新春送祝福,直接发红包。现金红包等你来拿~