可以先找出回文数,再用素数测试来判是否为素数即可。

打回文数时,因为左右对称,可以只枚举后半部,然后通过逆转得到前半部分。

#include <iostream>
#include <cstdio>
#include <time.h>
#include <stdlib.h>
#include <algorithm> using namespace std;
const int Max=200000;
int huiwen[Max],answer[Max];
int htop; int anter(int i){
int ans=1;
while(i){
ans*=10;
i--;
}
return ans;
} int gethuiwen(int t,int p){
int ans=0;
while(p>1){
ans*=10;
ans+=(t%10);
p/=10;
t/=10;
}
return ans;
} void for_back(){
htop=0;
for(int i=5;i<=9;i++)
huiwen[htop++]=i;
for(int i=2;i<=8;i++){
int p=anter(i/2);
// cout<<p<<endl;
if(i%2){
for(int k=0;k<=9;k++){
for(int t=0;t<p;t++){
if(t%10==0) continue;
int tail=gethuiwen(t,p);
// cout<<tail<<' '<<t<<endl;
huiwen[htop++]=(tail*10+k)*p+t;
}
}
}
else{
for(int t=0;t<p;t++){
if(t%10==0) continue;
int tail=gethuiwen(t,p);
huiwen[htop++]=(tail)*p+t;
}
}
}
// cout<<huiwen[htop-1]<<endl;
// for(int i=10;i<=50;i++)
// cout<<huiwen[i]<<endl;
} long long random(long long n){
return (long long )((double)rand()/RAND_MAX*n+0.5);
} long long quick(long long a,long long k,long long m){
long long ans=1;
while(k){
if(k&1){
ans=ans*a%m;
}
k>>=1;
a=a*a%m;
}
return ans;
} bool Miller_Rabin(long long k){
for(int i=1;i<=50;i++){
long long a=random(k-2)+1;
if(quick(a,k-1,k)!=1)
return false;
}
return true;
} int main(){
srand(time(0));
for_back();
int tmp=htop; htop=0;
// cout<<huiwen[tmp-1]<<endl;
for(int i=0;i<tmp;i++){
// cout<<"NO"<<endl;
if(Miller_Rabin(huiwen[i])){
// cout<<"YES"<<endl;
// break;
huiwen[htop++]=huiwen[i];
}
}
int a,b,ast;
while(scanf("%d%d",&a,&b)!=EOF){
ast=0;
for(int i=0;i<htop;i++){
if(huiwen[i]>=a&&huiwen[i]<=b)
answer[ast++]=huiwen[i];
}
sort(answer,answer+ast);
for(int i=0;i<ast;i++)
printf("%d\n",answer[i]);
cout<<endl;
}
return 0;
}

  

HDU 1431的更多相关文章

  1. HDU 1431 思维 基础数论

    找范围内回文素数,最大到1e8,我就是要枚举回文串,再判素数,然后因为这种弱智思路死磕了很久题目. /** @Date : 2017-09-08 15:24:43 * @FileName: HDU 1 ...

  2. F题 hdu 1431 素数回文

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

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

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

  4. HDU 1431 素数回文

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

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

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

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

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

  7. ACM_回文素数

    回文素数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 131号是一个主回文,因为它是一个素数和一个回文(当向后读时,它是相同的 ...

  8. FZU ICPC 2020 寒假训练 2

    A - 排序 输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分割的若 干非负整数(可能有些整数以'0'开头,这些头部的'0'应该被忽略掉,除非这个整数就是由 若干个'0'组 ...

  9. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

随机推荐

  1. Task.ConfigureAwait

    public ConfiguredTaskAwaitable ConfigureAwait( bool continueOnCapturedContext ) Configures an awaite ...

  2. ajax跨域POST时执行OPTIONS请求服务端返回403forbidden的解决方法

    ajax访问服务端restful api时,由于contentType类型的原因,浏览器会先发送OPTIONS请求. 本人服务端用的是spring mvc框架,web服务器用的是tomcat的,以下给 ...

  3. 分析AWR报告

    1.AWR报告头信息 DB Name :数据库名字 DBid: 数据库id Elapsed:采样时间段 DB Time:用户操作花费的时间,不包括Oracle后台进程消耗的时间 DB Time远小于E ...

  4. ffmpeg实现

    最近做一个小项目,要在线播放录制的 MP4 视频,想开源的 flash player 或 html 5 可以播放.可,虽然 MP4 是 H.264 编码,但就是播放不了.可能是封装方式(PS 方式)不 ...

  5. JavaScript之BOM和DOM

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  6. Python笔记(十)——操作SQLServer

    #encoding=utf-8 # 先通过如下命令安装模块 # pip install --trusted-host pypi.python.org pymssql # pip类似于RedHat里的y ...

  7. webkitdirectory 实现文件夹上传

    文件夹上传这个功能在web端可能有需求,这里就简单介绍下用法. 目前只有谷歌浏览器还有Microsoft Edge支持按照文件夹进行上传,具体可以看下百度云盘的网页版的上传按钮,在火狐下就支持按照文件 ...

  8. Vue组件的三种调用方式

    最近在写fj-service-system的时候,遇到了一些问题.那就是我有些组件,比如Dialog.Message这样的组件,是引入三方组件库,比如element-ui这样的,还是自己实现一个?虽然 ...

  9. css简单介绍

    css层叠样式表,主要作用就是解决内容与表现分离的问题.html标签有自己的意义当然也是有自己的默认样式的,但有时候我们想修改他的样式,这时候就需要了css. 例:给字体加上颜色,我们有如下几种方法: ...

  10. 最小环 hdu1599 poj1734

    最小环用floyd改编. hdu1599特殊一些.要求至少有三个不同的点,并且除了起点与终点重合外,中间不能有环.有点很奇怪,最大值不能为0x3f3f3f3f. poj1374就没那么讲究. //hd ...