xiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000); 

Input

这里有许多组数据,每组包括两组数据a跟b。

Output

对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。

Sample Input

5 500

Sample Output

5
7
11
101
131
151
181
191
313
353
373
383 // 判断输入的数是否为素数,若是,则将它转为字符串判断它是否为回文
 #include<stdio.h>
#include<stdlib.h>
#include<string.h>
char num[];
int palindrome(char str[])
{
int i, len, flag=;
len=strlen(str);
for(i=;i<len/;i++)
if(str[i]!=str[len--i])
{ flag=; break; }
return flag;
} int prime(int n)
{
int i, flag=;
for(i=; i<n; i++)
if(n%i==)
{ flag=; break; }
return flag;
} int main()
{
int a, b, i;
while(scanf("%d %d", &a, &b)!=EOF)
{
for(i=a;i<=b;i++)
if(prime(i))
{
itoa(i,num,);
if(palindrome(num))
puts(num);
}
printf("\n");
}
return ;
}

Time Limit Exceeded

// 缩短了判断素数时遍历的范围
 #include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
char num[];
int palindrome(char str[])
{
int i, len, flag=;
len=strlen(str);
for(i=;i<len/;i++)
if(str[i]!=str[len--i])
{ flag=; break; }
return flag;
} int prime(int n)
{
int i, flag=, k;
k=(int)ceil(sqrt(n*1.0));
for(i=; i<=k; i++)
if(n%i==)
{ flag=; break; }
return flag;
} int main()
{
int a, b, i;
while(scanf("%d %d", &a, &b)!=EOF)
{
for(i=a;i<=b;i++)
if(prime(i))
{
itoa(i,num,);
if(palindrome(num))
puts(num);
}
printf("\n");
}
return ;
}

Time Limit Exceeded*2

// 判整数型回文方法见代码
// 判素数中的终止循环条件中无需调用sqrt
 #include<stdio.h>
int palindrome(int x)
{
int i=x, j=, flag=;
while(i)
{ j=j*+i%; i/=; }
if(j==x) flag=;
return flag;
} int prime(int n)
{
int i, flag=, k;
if(n!=&&n%==) flag=;
else
{
for(i=; i*i<=n; i++)
if(n%i==)
{ flag=; break; }
}
return flag;
} int main()
{
int a, b, i;
while(scanf("%d %d", &a, &b)!=EOF)
{
for(i=a;i<=b;i++)
if(prime(i))
if(palindrome(i))
printf("%d\n", i);
printf("\n");
}
return ;
}

Time Limit Exceeded*3

// 偶数除2外都不是素数
// 给定范围内最大的素数回文为9989899.
// 除了11外,任意偶数长度的回文都是11的倍数
 #include<stdio.h>
int palindrome(int x)
{
int i=x, j=, flag=;
while(i)
{ j=j*+i%; i/=; }
if(j==x) flag=;
return flag;
} int prime(int n)
{
int i, flag=;
for(i=; i*i<=n; i++)
if(n%i==)
{ flag=; break; }
return flag;
} int main()
{
int a, b, i;
while(scanf("%d %d", &a, &b)!=EOF)
{
for(i=a%?a:a+;i<=b&&i<=;i+=)
{
if(i>&&i< || i>=&&i< || i>=&&i<)
continue;
if(prime(i)&&palindrome(i))
printf("%d\n", i);
}
printf("\n");
}
return ;
}

Time Limit Exceeded*4

// 打表。。。一次遍历输出
 #include<stdio.h>
#include<process.h> int palindrome(int x)
{
int i=x, j=, flag=;
while(i)
{ j=j*+i%; i/=; }
if(j==x) flag=;
return flag;
} int prime(int n)
{
int i, flag=;
for(i=; i*i<=n; i++)
if(n%i==)
{ flag=; break; }
return flag;
} int main()
{
FILE *fp;
if((fp=fopen("Ntest.txt","wt"))==NULL)
{
printf("Error!\n");
exit();
}
int j=;
for(int i=;i<=;i++)
if(prime(i)&&palindrome(i))
{
j++;
if(j%) fprintf(fp, "%d, ", i);
else fprintf(fp, "%d, \n", i);
}
fprintf(fp, "\n\n%d", j);
printf("Done!\n");
fclose(fp);
return ;
}

打表代码

 #include<stdio.h>
#define N 779 int table[N]=
{
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , ,
}; int main()
{
int a, b, i;
while(scanf("%d %d", &a, &b)!=EOF)
{
for(i=;i<N;i++)
if(table[i]>=a&&table[i]<=b)
printf("%d\n", table[i]);
printf("\n");
}
return ;
}

AC

												

4N - 素数回文的更多相关文章

  1. 素数回文(dfs,有bug)

    素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. 素数回文(hdu1431)

    素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. F题 hdu 1431 素数回文

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others)    M ...

  4. 题解报告:hdu 1431 素数回文

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说 ...

  5. 12--c完数/最大公约数/最小公倍数/素数/回文数

    完数/最大公约数/最小公倍数/素数/回文数 2015-04-08 10:33 296人阅读 评论(0) 收藏 举报  分类: C/C++(60)  哈尔滨工业大学(8)  版权声明:本文为博主原创文章 ...

  6. hdu 1431 素数回文(暴力打表,埃托色尼筛法)

    这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表 ...

  7. NOI-OJ 1.13 ID:5 素数回文数的个数

    整体思路 使用埃拉拖色尼算法提前计算出1000以内的素数表. 设计一个回文判断函数isHW(int n),难点在于数字回文的判断.一个简单的方法是将数字n使用sprintf输出在一个数组中,然后从数组 ...

  8. HDU 1431 素数回文 离线打表

    题目描述:给定一个区间,将这个区间里所有既是素数又是回文数的数输出来. 题目分析:这题的这个数据范围比较大,达到了10^8级别,而且输入的数据有多组,又因为判断一个数是否是回文数貌似只有暴力判断,时间 ...

  9. HDU 1431 素数回文

    有人问我这个问题. 个人感觉暴搜会TLE O(n*sqrt(n)).n=100000000:(推断素数用2~sqrt(n)+1 去除) 还是枚举好了. 枚举 1~10000,把他每一位存下来,回文数已 ...

随机推荐

  1. oracle数据表中的中文变问号

    先查询一下select userenv('language') from dual;查看oracle字符集, $ sqlplus /nolog SQL> connect sys/oracle a ...

  2. 实现了一下Mp3播放器的功能

    实现了一下Mp3播放器的功能 简单的实现了一下Mp3播放器的功能,见面比较的不美好,讲 究看一下就好了. 主要功能: 1.显示文件列表,主要参照了一位前辈的代码,谢咯. 2.可以实现播放开始,暂停. ...

  3. C# WCF初识

    原文:http://www.cnblogs.com/artech/archive/2007/02/26/656901.html 方式1: 需引用 System.ServiceModel namespa ...

  4. pandas库的数据类型运算

    pandas库的数据类型运算 算数运算法则 根据行列索引,补齐运算(不同索引不运算,行列索引相同才运算),默认产生浮点数 补齐时默认填充NaN空值 二维和一维,一维和0维之间采用广播运算(低维元素与每 ...

  5. 对于目标识别的一些idea-传递特征的position而不是特征或特征图

    我们在目标识别中通常是识别到目标的,通过proposals回归的方式,但是如果我们可以在 训练过程中识别到特征以后,将特征的位置信息传到下一层网络这样是否会训练收敛更快, 精度更高. 可能这也是以后机 ...

  6. 基于WebQQ3.0协议写一个QQ机器人

    最近公司需要做个qq机器人获取qq好友列表,并且能够自动向选定的qq好友定时发送消息.没有头绪,硬着头皮上 甘甜的心情瞬间变得苦涩了 哇 多捞吆 1.WEBQQ3.0登陆协议 进入WEBQQ, htt ...

  7. JS----获取DOM元素的方法(8种)

    什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...

  8. JS-cookie和正则表达式

    一 cookie 1 什么是cookie? 会话跟踪技术 2 作用 验证身份,存储信息. 3 特点 大小限制,最多存4k: 每个域下只能存50个cookie: 有时间限制: 只能存放字符串: 只能访问 ...

  9. NCBI之gene系列

    1.基因系列中的data索引 2.基因ID之间的转换 对于生信,依托于别人的工具不如自己动手,由于研究发表的滞后性,往往很多工具提供的转换并不是最新的,况且开发者水平也参差不齐,理解原理才能让你来去自 ...

  10. The CHAR and VARCHAR Types

    [The CHAR and VARCHAR Types] The CHAR and VARCHAR types are declared with a length that indicates th ...