1.5.2 Prime Palindromes 回文质数(构造回文)
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 回文质数(构造回文)相关推荐
- 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)
题目链接:点击查看 题目大意:给出一个a和b,求出区间[a,b]中所有回文质数,回文质数指的是一个数既是回文数也是质数 题目分析:首先质数好判断,我们只需要用欧拉筛预处理打好表即可,判断回文数我们也只 ...
- [USACO1.5]回文质数 Prime Palindromes
题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes——回文质数性质、打表
[USACO1.5]回文质数 Prime Palindromes 题目描述 因为 151151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151151 是回文质数. ...
- P1217 [USACO1.5]回文质数 Prime Palindromes(素数筛法/打表)
P1217 [USACO1.5]回文质数 Prime Palindromes(素数筛法/打表) 一:埃氏筛(时间复杂度--nloglogn) 重点:一个数x是合数,则它的倍数也是合数 //用埃氏筛生成 ...
- luogu 题解 P1217 【[USACO1.5]回文质数 Prime Palindromes】
题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围 [a,b] (5 < a < b 100,000,00 ...
- 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes 题解 C/C++
知识点: 回文数有两种 一种是单数位数,abcba,一种是双数位数,abccba 而双数位数是质数的只有11,即偶位回文数全不是质数除了11:所以不需要枚举到1亿,到1千万就好了 以下几种方法供参考 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes 题解(来源:洛古)
[USACO1.5]回文质数 Prime Palindromes 题目描述 因为 151 151 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 151 151 是回 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes
暴力输出5~1e8的回文质数 #include <bits/stdc++.h> using namespace std; int cnt; bool isprim(int x) //10^ ...
- GO实现 回文质数 (Prime Palindromes)
题目描述 因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,00 ...
- 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes
我就叫大家打表吧,自己也刚学会: 由于有些题目直接提交又会超时,所以打表是一个不错的解决方法. 对于回文质数而言,判断回文,判断质数就ok了 1.存入文件 #include<bits/stdc+ ...
最新文章
- Codeforces Round #308 (Div. 2) C. Vanya and Scales dfs
- 说得太好了!阿里巴巴为什么不用 ZooKeeper 做服务发现?
- 教你快速撸一个免费HTTPS证书
- 织梦换了html模板样式没了,织梦(dedecms)如何更换网站模板?
- ruby1.8.6 安装watir是出现问题记录
- 图解WindowsXP修改MAC地址
- xtrabackup支持的engine
- 短信验证-SMSSDk(Mob开发平台 )
- 【copy_paste数据增强】
- 《弃子长安》第十六章 道阳心经
- 在html中如何做SEO优化
- 1838公共政策概论 (2)
- vue 拖拽【单个div实现拖拽】
- SpringCloud Getway服务网关
- multisim仿真 数码管设计
- 24、抽象方法和抽象类的写法
- camus执行任务,偶发性异常
- RHEL6基础之六RHEL6基本命令bash常用快捷键变量环境变量命令的返回值
- python中quit函数用法_关于 Python 中的退出命令:sys.exit(n), os._exit(n), quit(), exit()...
- 公子世无双,代码永流传!!!我与github。