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. js实现刷新页面出现随机背景图

    直接上代码: <script>         var bodyBgs = [];         bodyBgs[0] = "IMG/01.jpg";         ...

  2. GitHub中国区前100名到底是什么样的人?向大佬们学习。

    本文转自:码迷 http://www.mamicode.com/info-detail-1267434.html 本文根据Github公开API,抓取了地址显示China的用户,根据粉丝关注做了一个排 ...

  3. 使用Flash Media Server(FMS)录制mp4格式的视频

    最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是Adobe的Flash Media Server,具体方式就是:视频采集端采集视频并编码->rt ...

  4. CFDA

    cfda数据抓取 1.网站数据是加密的,需要浏览器进行数据解析 2.网址url有js加密 3.PhantomJS无法解析数据, chrome无法获取数据,所有最终选择用Firefox浏览器 impor ...

  5. opencv对手写数字进行无黏连切割

    //src:待分割的二值图,最大值为255 //segMat:分割好的每个图片 //算法:判断连通域,有几个连通域就会分割成几个子图片 //用途:手写数字识别中进行无黏连数字的分割 void getC ...

  6. GO注释

    1.GO资源简介 由于生物系统的惊人复杂性和需要分析的数据集的不断增加,生物医学研究越来越依赖于以可计算的形式存储的知识.基因本体论(GO)项目为基因功能和基因产物的可计算知识提供了目前最全面的资源. ...

  7. centos6.8下配置https服务器

    centos6.8下配置https服务器 1.1 环境 l  系统环境:内核环境为2.6.32版本  64位的CentOS release 6.8 (Final) [root@localhost ~] ...

  8. 用BlazeMeter录制JMeter(三十五)测试脚本(转载)

    转载自 http://www.cnblogs.com/yangxia-test 工具: 1,JMeter 2,Chrome 3,BlazeMeter 4,SwitchyOmega(如果需要代理) 步骤 ...

  9. BeautifulSoup中查找元素 select() 和find()区别

    从html中查找元素,之前一般都用find(),查找符合条件的第一个,如下 f = open(file, 'r') # 读取文件内容content = f.read()soup= BeautifulS ...

  10. 【Nodejs】ExpressのRequestとResponseの内容

    Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性.常见属性有: req.app:当callback为外部文件时,用req.ap ...