题目:

蒜头君对既是素数又是回文的数特别感兴趣。比如说 151 既是素数又是个回文数。回文数是指从左到右读和从右到左读都一样的数。

现在小王想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟 b 之间(包含 a 和 b)满足条件的数。

输入格式

输入 a 和 b (2 ≤ a < b ≤ 100,000,000)。

输出格式

按从小到大输出 a, b 之间所有满足条件的素数回文数,一个数占一行。

输出时每行末尾的多余空格,不影响答案正确性

样例输入

2 200

样例输出

2
3
5
7
11
101
131
151
181
191

提醒:本文只对素数做出解释,回文代码大家可以自己模拟代码结果。

#include <iostream>
using namespace std;int a, b;int main() {cin >> a >> b;for (int i = a; i <= b; i ++) {int x, y;y = 0, x = i;while (x > y) {y = y * 10 + x % 10;x /= 10;}if (x == y || x == y / 10) {   // while 到此处是回文数的判断  int find = 0;for (int j = 2; j * j <= i; j ++) {if (i % j == 0) {find = 1;      // for 中素数判断是对暴力求解的一种改进(文末有解释)}}if (find == 0){cout << i << endl;}}}return 0;
}

对素数的判断中 for(int j = 2; j * j <= i; j ++) 进行一个通俗的解释:

就是一个非负数 n ,它如果不被 1 和自身分解,想要被其它的整数分解,那么分解的结果就是这两个数一定是在 sqrt(n)的两侧,一个数在 sqrt(n)的左侧,一个数在 sqrt(n)的右侧。

例如:n = 100       sqrt(n)= 10;

那么:2 * 50 = 100

5 * 20 = 100

在一个算式中,2 和 5 都在 10 的左侧, 50 和 20 都在 10 的右侧。

以前我的做法是遍历到 n/2,其实这样也是有一定误差的(大家可以想一想有什么误差),我们不需要遍历到 n , 也不需要遍历到 n - 1 ,我们只需要遍历到  sqrt(n)即可。

推荐大家写成 for ( int i = 2; i * i <= n; i ++) ,

若要写成 for ( int i = 2; i <= sqrt(n); i ++) , 还需要添加头文件#include <cmath> 。

提醒:本文的代码在 Dev C++ 中能正确运行;在计蒜客中提交有超时的概率。回文和素数都有优化的空间,大家可以进一步优化。

素数回文(来自计蒜客T1986题目)相关推荐

  1. 计蒜客/51Nod题目

    题目 换位置(1) 链接https://nanti.jisuanke.com/t/T1971 思路:两两交换次序使得数组逆序,第一个到最后位置需要n-1步,第二个到倒数第二个需要n-2步,第三个到倒数 ...

  2. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)

    DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...

  3. 计蒜客题解——最大的余数

    其实本题的难度真心不高,但是可以完整说明数据分析.标程.随机数生成.对拍等部分. 题目链接 原题来自计蒜客的某次比赛.计蒜客对应的链接为https://nanti.jisuanke.com/t/422 ...

  4. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  5. HDU - 1431 素数回文 [ 学到了 ]

    Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 ...

  6. HDU1431 素数回文(打表)[C,C++,Java]

    目录 题目及翻译 题面 输入 输出 输入样例 输出样例 题目思路 注意事项 解决过程 AC代码 C/C++(几乎没有代码变更)[即时计算] C/C++(几乎没有代码变更)[暴力打表] Java[即时计 ...

  7. 计蒜客 T1853:非常男女(前缀和)

    上一篇博客计蒜客 T1101:大整数的因子(高精度除法详解)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.这篇博客来记录一下计蒜客T18 ...

  8. 计算二进制补码 计蒜客 Python

    题目 题目来源于计蒜客输出二进制补码 题目描述 蒜头君有一个 int 的整数,输出它的 32 位二进制补码. 输入格式 一个整型整数. 输出格式 输出一行,即该整数的补码表示. 样例输入 7 样例输出 ...

  9. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,更新完毕. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:有趣的数字 B. 结果填空:爬楼梯 C. 结果填空:七巧板 D. 结果填空:苹果 ...

最新文章

  1. android studio so文件的添加
  2. Algorithms_基础数据结构(01)_线性表之数组数组的应用案例分析
  3. svn教程----示例二:测试人员拥有读权限
  4. 剖析 .NET 托管提供程序
  5. 数据库存储模型-数据存储
  6. 前端开发中使用mock模拟数据
  7. 死锁编码及定位分析(故障排查)
  8. 第四届 AI City 挑战赛 @ CVPR 2020 开始啦!
  9. SpringBoot的Bean之@ConditionalOnBean与@ConditionalOnClass
  10. 奇异值与主成分分析(PCA)
  11. IBM X3650 M4 服务器
  12. python画图如何调整图例位置_Python——legend()图例位置调整
  13. centos下的mysql安装
  14. 矩阵分解在推荐系统中的应用:NMF和经典SVD实战
  15. TypeError: 'list' object is not callable
  16. Linux操作系统加固
  17. 音视频基础1:H264、H265、MPEG-4、VP8、VP9编码基础知识
  18. 图灵社区python kindle_推送mobi至Kindle流程说明(简要操作)
  19. ubuntu10.10安装google拼音输入法
  20. Ubuntu下载常用软件和使用Caffe时的常见问题

热门文章

  1. NAND的局限性和使用寿命
  2. IPETRONIK电动汽车热管理方案
  3. node实现视频一边播放一边下载
  4. 从光的波粒二相性所想到的.......(非物理范畴)
  5. 【论文笔记】半监督的多视图学习:Semi-supervised Multi-view Deep Discriminant Representation Learning
  6. M5310A--学习笔记
  7. 《那些年啊,那些事——一个程序员的奋斗史》——23
  8. valueerror:could not convert string to float:****
  9. 市场调研报告-全球与中国商用压缩机市场现状及未来发展趋势
  10. tidevice 助你在非Mac环境执行iOS自动化