回文质数问题(用生成回文数的方法)
2017-11-23 10:52
393 查看
题目描述
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以151是回文质数。写一个程序来找出范围a,b间的所有回文质数。
输入格式
一行,二个整数a,b。
输出格式
输出一个回文质数的列表,一行一个。
样例输入
5 500
样例输出
5
7
11
101
131
151
181
191
313
353
373
383
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以151是回文质数。写一个程序来找出范围a,b间的所有回文质数。
输入格式
一行,二个整数a,b。
输出格式
输出一个回文质数的列表,一行一个。
样例输入
5 500
样例输出
5
7
11
101
131
151
181
191
313
353
373
383
#include<stdio.h> #include<iostream> #include<math.h> using namespace std; int prime(int n); int huiwenshu(int n); int a,b; int main() { cin>>a>>b; int i,max; if(a<=11)//把2,3,5,7,11和其他回文数分开讨论 { b<=11?max=b:max=11; for(i=a;i<=max;i++) { if(prime(i)==1) { printf("%d\n",i); } } } for(i=10;i<=10000;i++) { int hws; hws=huiwenshu(i); if(hws>b) break; if(hws<a) continue; if(prime(hws)==1) printf("%d\n",hws); } } int huiwenshu(int n) { int res=n/10; while(n!=0) { res=res*10+n%10; n=n/10; } return res; } int prime(int n) { if(n==1) return 0; int i; double max=sqrt((double)n); for(i=2;i<=max;i++) { if(n%i==0) return 0; } return 1; }
相关文章推荐
- 详细注释如何用C语言生成回文数的方法高效判断回文质数
- 利用Ecipse生成Javadoc乱码(编码问题)终极解决方法
- NetcfSvcUtil生成的WCF代理类保存数字类型到Server端总为0问题解决方法
- PHP生成excel时单元格内换行问题的解决方法
- GridView动态生成字段常见问题及解决方法
- PHP生成excel时单元格内换行问题的解决方法
- powerdesigner中生成数据库脚本时出现长度限制问题的解决方法
- DMP文件的生成和使用(转),由于须要取得用户出现问题的信息,所以须要取得demp信息,可以通过本方法获取。
- 生成质数的好方法:sieve of eratosthenes
- 生成动态库so的方法|解决NDK r5b引用静态库失效的问题|在NDK的Nactive代码中使用Android Log的方法|生成Native java头文件
- 字符串生成Hash值后转换成Guid的若干方法和一个重要问题
- GridView动态生成字段常见问题及解决方法 .
- Html.BeginForm方法没有生成Form标签的问题
- 关于cdo的方法生成mht文件后,图片没有固化的问题???
- 诡异的问题:Excel做报表打印,莫名在根目录生成快捷方式的解决方法
- DEDECMS 自动缩略图无法生成问题的解决方法
- 114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
- MyEclipse生成的Spring+Hibernate无法保存数据问题的解决方法
- 使用mule生成WSDL中文乱码问题解决方法
- eclipse 生成javadoc乱码问题解决 方法