素数回文
2014-05-24 19:31
190 查看
#include <stdio.h> #include <stdlib.h> int main() { long ch[15],num,NUM,k=0,sign,SIGN,I,SUM[100000],i,j,a,b; for(i=5;i<=9989899;i++) { if(i%2==0) continue; for(SIGN=1,I=i;;SIGN++) { I=I/10; if(I==0) break; } for(j=0,num=10,NUM=1;j<SIGN;NUM*=10,num*=10,j++) { ch[j]=(i%(num))/NUM; } for(j=0,sign=0;2*j<(SIGN);j++) { if(ch[j]!=ch[SIGN-1-j]) sign++; } if(sign==0) { for(j=2;(j*j)<=i;j++) { if(i%j==0) sign++; } if(sign==0) { SUM[k]=i; k++; } } } while(scanf("%ld%ld",&a,&b)!=EOF) { for(i=a,j=0;i<b;i++) if(i>SUM[j]&&SUM[j]!=0) { printf("%ld\n",SUM[j]);j++; } putchar('\n'); } return 0; }
View Code
素数回文
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 84 Accepted Submission(s) : 17
[align=left]Problem Description[/align]
xiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000);
[align=left]Input[/align]
这里有许多组数据,每组包括两组数据a跟b。
[align=left]Output[/align]
对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。
[align=left]Sample Input[/align]
5 500
[align=left]Sample Output[/align]
5 7 11 101 131 151 181 191 313 353 373 383
[align=left]Author[/align]
xiaoou333
[align=left]Source[/align]
zjut
相关文章推荐
- [数论] HDU 1431 素数回文 筛素数
- 提高篇第一讲项目6.4——编制函数输出1000以内的所有素数,回文数,回文素数,可逆素数
- 回文素数:求不超过1000的回文素数
- 素数回文——输出两整数之间所有既是回文数又是素数的数 C++实现
- 求 1到100000000 既是回文又是素数的数字
- hdu-oj 1431 素数回文
- HDU 1431 素数回文【暴力求解】
- hdu 1431 素数回文
- 第11周项目6-回文、素数 回文数
- 第十一周上机项目六(4)回文素数
- 第11周上机实践项目6——回文、素数(4~5)
- 第十一周项目六——回文,素数(4-2)
- Java(循环语句作业)反序输出、万年历、回文数、99乘法口诀表、素数
- HDU 1431 素数回文(回文素数)
- 万内回文素数
- 素数,回文数,回文素数
- C语言提高-第5讲: 函数的参数(回文、素数)
- HDU 1431--素数回文【水题】
- 问题五十四: 输出10000以内的所有回文素数。
- HDU 1431 素数回文(回文数打表)