Description

因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数。 写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)间的所有回文质数;

Input

第 1 行: 二个整数 a 和 b

Output

输出一个回文质数的列表,一行一个。

Sample Input

5 500

Sample Output

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

思路:首先我们构造一个回文,我们可以观察到前11个数,为什么我们让前11个数为分界线呢?

因为如果我们让5~11的数据先进行构造回文,那么11这个数据就会被构造为111,就不会存在11这个质数

我们可以直接求出质数,然后存入数组,然后剩下的数字我们只需要计算10~10000次循环来构造100000000数据大小的数,然后存入数组,最后求a~b范围内的数据

代码:

#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>
typedef long long LL;
const long long INF = 0x3f3f3f3f;
const long long mod = 1e9+7;
const double PI = acos(-1.0);
const int maxx = 125000;
#define MAX 10010
using namespace std;
int c[1000000];
int f(int n)
{LL k,i;k=sqrt(n);for(i=2; i<=k+1; i++)if(n%i==0)return 0;return 1;
}
int f1(int n)
{int sum=n/10;while(n!=0){sum=sum*10+n%10;n/=10;}return sum;
}
int main()
{int a,b,k=0,ans=0;cin>>a>>b;if(a<12){for(int i=a; i<=11; i++){if(f(i)==1)c[k++]=i;}}for(int i=a; i<=10000; i++){ans=f1(i);if(f(ans)==1){c[k++]=ans;}}for(int i=0; i<k; i++){if(c[i]>=a&&c[i]<=b)cout<<c[i]<<endl;}return 0;
}

还有一个算法就是计算这个数是不是回文数字:

int f1(LL n)//n为传来的参数,假设我们求的为12321
{int x,sum=0;x=n;while(n!=0){sum=sum*10+n%10;n/=10;}//经过循环以后我们得出的为12321if(sum==x)return 1;return 0;
}

1.5.2 Prime Palindromes 回文质数(构造回文)相关推荐

  1. 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)

    题目链接:点击查看 题目大意:给出一个a和b,求出区间[a,b]中所有回文质数,回文质数指的是一个数既是回文数也是质数 题目分析:首先质数好判断,我们只需要用欧拉筛预处理打好表即可,判断回文数我们也只 ...

  2. [USACO1.5]回文质数 Prime Palindromes

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

  3. P1217 [USACO1.5]回文质数 Prime Palindromes——回文质数性质、打表

    [USACO1.5]回文质数 Prime Palindromes 题目描述 因为 151151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151151 是回文质数. ...

  4. P1217 [USACO1.5]回文质数 Prime Palindromes(素数筛法/打表)

    P1217 [USACO1.5]回文质数 Prime Palindromes(素数筛法/打表) 一:埃氏筛(时间复杂度--nloglogn) 重点:一个数x是合数,则它的倍数也是合数 //用埃氏筛生成 ...

  5. luogu 题解 P1217 【[USACO1.5]回文质数 Prime Palindromes】

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

  6. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes 题解 C/C++

    知识点: 回文数有两种 一种是单数位数,abcba,一种是双数位数,abccba 而双数位数是质数的只有11,即偶位回文数全不是质数除了11:所以不需要枚举到1亿,到1千万就好了 以下几种方法供参考 ...

  7. P1217 [USACO1.5]回文质数 Prime Palindromes 题解(来源:洛古)

    [USACO1.5]回文质数 Prime Palindromes 题目描述 因为 151 151 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 151 151 是回 ...

  8. P1217 [USACO1.5]回文质数 Prime Palindromes

    暴力输出5~1e8的回文质数 #include <bits/stdc++.h> using namespace std; int cnt; bool isprim(int x) //10^ ...

  9. GO实现 回文质数 (Prime Palindromes)

    题目描述 因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,00 ...

  10. 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes

    我就叫大家打表吧,自己也刚学会: 由于有些题目直接提交又会超时,所以打表是一个不错的解决方法. 对于回文质数而言,判断回文,判断质数就ok了 1.存入文件 #include<bits/stdc+ ...

最新文章

  1. Codeforces Round #308 (Div. 2) C. Vanya and Scales dfs
  2. 说得太好了!阿里巴巴为什么不用 ZooKeeper 做服务发现?
  3. 教你快速撸一个免费HTTPS证书
  4. 织梦换了html模板样式没了,织梦(dedecms)如何更换网站模板?
  5. ruby1.8.6 安装watir是出现问题记录
  6. 图解WindowsXP修改MAC地址
  7. xtrabackup支持的engine
  8. 短信验证-SMSSDk(Mob开发平台 )
  9. 【copy_paste数据增强】
  10. 《弃子长安》第十六章 道阳心经
  11. 在html中如何做SEO优化
  12. 1838公共政策概论 (2)
  13. vue 拖拽【单个div实现拖拽】
  14. SpringCloud Getway服务网关
  15. multisim仿真 数码管设计
  16. 24、抽象方法和抽象类的写法
  17. camus执行任务,偶发性异常
  18. RHEL6基础之六RHEL6基本命令bash常用快捷键变量环境变量命令的返回值
  19. python中quit函数用法_关于 Python 中的退出命令:sys.exit(n), os._exit(n), quit(), exit()...
  20. 公子世无双,代码永流传!!!我与github。

热门文章

  1. pm2 简介与常用指令
  2. 检查手机是否安装外置SD卡
  3. 如何安全地进行ddos压力测试
  4. 如何在 Azure 虚拟机里配置条带化
  5. 杭州云栖大会10月起航,这里有一份最全的大会剧透
  6. 【码云周刊第 8 期】面试之前,或许该高效率地学点干货了!
  7. winpcap的使用
  8. window下搭建react-native开发环境
  9. Spring with multiple transaction managers
  10. Microsoft AJAX Library的beta2版发布