博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
问题 A: 回文质数 Prime Palindromes
阅读量:3931 次
发布时间:2019-05-23

本文共 1201 字,大约阅读时间需要 4 分钟。

问题 A: 回文质数 Prime Palindromes [2*+]

时间限制: 1 Sec  内存限制: 128 MB

 

题目描述

【描述】 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。 

写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数; 
【pprime.in】 
第 1 行: 二个整数 a 和 b . 
【pprime.out】 
输出一个回文质数的列表,一行一个。 
 

Sample Input

 5 500 

Sample Output 

11 
101 
131 
151 
181 
191 
313 
353 
373 
383 

Hint

提示:是先生成素数再判断回文,还是先生成回文再判断素数。要考虑清楚,要利用回文的特点。

 

 

#include
#include
bool c[10000000]; int main(){ int k,j,a,b,i; scanf("%d%d",&a,&b); if (b>9999999) b=9999999; for (i=2;i<=int (sqrt(b));i++) if (!c[i]) for (j=i*i;j<=b;j=j+i) c[j]=1; for (i=a;i<=b;i++){ k=i;j=0; while (k){//将一个数倒序123->321 j=j*10+k%10; k=k/10; } if ((!c[i])&&(i==j))//j=321与i=123 比较是否相同 判断是否为回文数 printf("%d\n",i); } return 0; }

 徐不可说:回文和质素分别打表过不了的

Runtime Error:Segmentation fault
#include
#include
bool c[10000000]; int main(){ int k,j,a,b,i; scanf("%d%d",&a,&b); if (b>9999999) b=9999999; for (i=2;i<=int (sqrt(b));i++) if (!c[i]) for (j=i*i;j<=b;j=j+i) c[j]=1; for (i=a;i<=b;i++){ k=i;j=0; while (k){ j=j*10+k%10; k=k/10; } if ((!c[i])&&(i==j)) printf("%d\n",i); } return 0; }

转载地址:http://kotgn.baihongyu.com/

你可能感兴趣的文章
组播通信
查看>>
Linux网络编程一步一步学-UDP组播
查看>>
Linux C编程---网络编程
查看>>
在Linux创建库函数(1)
查看>>
在Linux创建库函数(2)
查看>>
在Linux创建库函数(3)
查看>>
多VLAN环境下DHCP服务的实现
查看>>
Java实现文件拷贝的4种方法
查看>>
在pb11中将C/S程序转换到B/S的步骤
查看>>
PowerDesigner教程系列(二)概念数据模型
查看>>
从PowerDesigner概念设计模型(CDM)中的3种实体关系说起
查看>>
SQL Server 2000中查询表名
查看>>
第一个go程序连接mysql读取数据
查看>>
一个小示例,对比下go和java
查看>>
struts2 上传excel文件
查看>>
开篇背景
查看>>
进程、线程、纤程
查看>>
Log4J日志管理类使用详解
查看>>
get请求乱码问题
查看>>
Java 内存模型及GC原理
查看>>