USACO
来源:互联网 发布:罗素名言 知乎 编辑:程序博客网 时间:2024/06/04 19:58
Prime Palindromes
题目描述
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。
写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数;
输入输出格式
输入格式:
第 1 行: 二个整数 a 和 b .
输出格式:
输出一个回文质数的列表,一行一个。
输入输出样例
输入样例#1:
5 500
输出样例#1:
5
7
11
101
131
151
181
191
313
353
373
383
采取构造 + 判断质数的方法,先生成回文数,再判断质数。
Code
#include <iostream>#include <cmath> using namespace std;bool prime(int x){ bool flag = true; for(int i=2;i<=sqrt(x);i++) { if(x % i == 0) flag = false; } return flag;}int main(){ int a,b,c[100000],i=3; int d1,d2,d3,d4,d5; c[0]=5;c[1]=7;c[2]=11;//2位数和1位数只有这三个是回文质数 for(d1=1;d1<=9;d1+=2) for(d2=0;d2<=9;d2++) { c[i]=d1*100+d2*10+d1; i++; }//生成3位回文数 for(d1=1;d1<=9;d1+=2) for(d2=0;d2<=9;d2++) for(d3=0;d3<=9;d3++) { c[i]=d1*10000+d2*1000+d3*100+d2*10+d1; i++; }//生成5位回文数 for(d1=1;d1<=9;d1+=2) for(d2=0;d2<=9;d2++) for(d3=0;d3<=9;d3++) for(d4=0;d4<=9;d4++) { c[i]=d1*1000000+d2*100000+d3*10000+d4*1000+d3*100+d2*10+d1; i++; }//生成7位回文数 for(d1=1;d1<=9;d1+=2) for(d2=0;d2<=9;d2++) for(d3=0;d3<=9;d3++) for(d4=0;d4<=9;d4++) for(d5=0;d5<=9;d5++) { c[i]=d1*100000000+d2*10000000+d3*1000000+d4*100000+d5*10000+d4*1000+d3*100+d2*10+d1; i++; }//生成9位回文数 cin >> a >> b; for(int i=0;i<100000000;i++) { if(c[i]>=a&&c[i]<=b&&prime(c[i])==true) cout<<c[i]<<endl; if(c[i]>b) break; }}
0 0
- USACO
- USACO
- usaco
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- java并发1--volatile关键字
- item45 在细节消息中包含失败-捕获信息
- vs2015下搭建opencv2.4.x
- Android代码规范化:抽取Activity基类
- Spark源码学习笔记7-HeartbeatReceiver
- USACO
- 利用Word和Github制作个人博客网站(二)
- 关于制作图桌互联网订桌系统的思考
- 代理模式
- P
- 如何快速适应mac环境开发
- NodeJS http 小结
- Tensorflow <一> 一层全连接网络实现XOR
- 一个H5小项目