4N - 素数回文
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 - 素数回文的更多相关文章
- 素数回文(dfs,有bug)
素数回文 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 素数回文(hdu1431)
素数回文 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- F题 hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others) M ...
- 题解报告:hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说 ...
- 12--c完数/最大公约数/最小公倍数/素数/回文数
完数/最大公约数/最小公倍数/素数/回文数 2015-04-08 10:33 296人阅读 评论(0) 收藏 举报 分类: C/C++(60) 哈尔滨工业大学(8) 版权声明:本文为博主原创文章 ...
- hdu 1431 素数回文(暴力打表,埃托色尼筛法)
这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表 ...
- NOI-OJ 1.13 ID:5 素数回文数的个数
整体思路 使用埃拉拖色尼算法提前计算出1000以内的素数表. 设计一个回文判断函数isHW(int n),难点在于数字回文的判断.一个简单的方法是将数字n使用sprintf输出在一个数组中,然后从数组 ...
- HDU 1431 素数回文 离线打表
题目描述:给定一个区间,将这个区间里所有既是素数又是回文数的数输出来. 题目分析:这题的这个数据范围比较大,达到了10^8级别,而且输入的数据有多组,又因为判断一个数是否是回文数貌似只有暴力判断,时间 ...
- HDU 1431 素数回文
有人问我这个问题. 个人感觉暴搜会TLE O(n*sqrt(n)).n=100000000:(推断素数用2~sqrt(n)+1 去除) 还是枚举好了. 枚举 1~10000,把他每一位存下来,回文数已 ...
随机推荐
- (转)2018几大主流的UI/JS框架——前端框架 [Vue.js(目前市场上的主流)]
https://blog.csdn.net/hu_belif/article/details/81258961 2016年开始应该是互联网飞速发展的几年,同时也是Web前端开发非常火爆的一年,Web ...
- Qt的action控件中采用默认绑定,没有connect显示绑定!!!
使用qt创建界面时,可以选用代码设计也可以选用qt design来设计.最近看我同事的代码,以前写action都是使用connect链接槽函数的, 网上大多数人都是这样,然后我就纳闷,怎么没有conn ...
- 转载一篇必须超级好的JVM配置实战
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...
- php loop循环 拿到键名
{loop $nianjian['dache'] $key $v} $key能拿到键名(微擎系统试过可以)
- 2018面向对象程序设计(Java)第4周学习指导及要求
2018面向对象程序设计(Java) 第4周学习指导及要求(2017.9.19-2017.9. 26) 学习目标 掌握类与对象的基础概念,理解类与对象的关系: 掌握对象与对象变量的关系: 掌握预定 ...
- OpenCV之Vec3f
Vec3f表示的是3通道float类型的 Vect,就相当于3通道float类型的图像(这是其中一个具体化),解释可以从源代码中看出来. 下面给出一个具体的例子: Vec3f point = Vec3 ...
- win10自带IE上不了网的解决办法
1.cmd以管理员身份运行powershell. 2.输入以下三条程序. netsh int tcp set heuristics disabled 回车执行后再输入 netsh int tcp se ...
- python学习day9 字符编码和文件处理
1.字符编码 x='上' #unicode的二进制--------->编码-------->gbk格式的二进制 res=x.encode('gbk') #bytes 字节类型 print( ...
- nutch笔记
1.Nutch 是一个开源Java实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫.
- SpringMVC包括哪些组件
1 映射器 1.1作用:Handlermapping根据url查找Handler 2 适配器 2.1作用:HandlerAdapter执行Handler 3 解析器 3.1作用:View ...