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

这题肯定得打表,筛素数肯定用埃托色尼筛法(不好意思把大名鼎鼎的埃拉托色尼名字打错了,表打我)。

再看当你所找的回文数的位数为偶数时,有如下定理除11外所有偶数位数的回文数都能被11整除,所以所有偶数位数的回文都不是素数。

证明看如下(我手写的)

手机像素渣(凑活着吧)字丑也凑和着。

证完后我们在来说题目给的数据范围

所以当有8位时都不可以,所以数据缩小为999999;

那么下面就用素数筛法直接打表就行了。

然后再开个数组存回文的素数。

但是一开始我是用int开数组来筛素数的,不得不说傻逼了,内存爆到家了,我一开始很郁闷,这咋爆了呢,我靠,后来一想int型占4个字节,改成bool型的

哈哈,没爆,过了,bool型占一字节,所以内存果断下降4倍。我以前一直开int型的。我煞笔本来准备开longlong 的,估计要爆到姥姥家。

下面看代码:

  1. 1 #include<stdio.h>
  2. 2 bool a[9989900]={0};
  3. 3 int pp(int n);
  4. 4 int dd[1000];//素数回文数组本来以为会很大,但却很少,可以先打表看看。
  5. 5 int main(void)
  6. 6 {
  7. 7 int n,i,j,k,p,q;
  8. 8 a[0]=true;
  9. 9 a[1]=true;
  10. 10 for(i=2; i<4000; i++)
  11. 11 {
  12. 12 if(a[i]==0)
  13. 13 {
  14. 14 for(j=i; i*j<9989900; j++)
  15. 15 {
  16. 16 a[i*j]=true;
  17. 17 }
  18. 18 }
  19. 19 }//素数筛选暴力打表
  20. 20 int kk=0;
  21. 21 int t=0;
  22. 22 for(i=5;i<9989900;i++)
  23. 23 {
  24. 24 if(!a[i]&&pp(i))
  25. 25 {
  26. 26 dd[t++]=i;
  27. 27 }
  28. 28 }//选出回文加入数组
  29. 29
  30. 30 while(scanf("%d %d",&p,&q)!=EOF)
  31. 31 {for(i=0;i<t;i++)
  32. 32 {
  33. 33 if(dd[i]>=p&&dd[i]<=q)
  34. 34 {
  35. 35 printf("%d\n",dd[i]);
  36. 36 }
  37. 37 if(dd[i]>q)
  38. 38 {
  39. 39 break;
  40. 40 }
  41. 41 }
  42. 42 printf("\n");
  43. 43 }
  44. 44
  45. 45 return 0;
  46. 46
  47. 47
  48. 48 }
  49. 49
  50. 50 int pp(int n)//判断回文,正着和反着数值大小都一样
  51. 51 {
  52. 52 int i;
  53. 53 int y=0;int yy=n;int uu=1;
  54. 54 while(n>0)
  55. 55 {
  56. 56 y=y*10+n%10;
  57. 57 n=n/10;
  58. 58 }
  59. 59
  60. 60 if(y==yy)
  61. 61 {
  62. 62 return 1;
  63. 63 }
  64. 64 return 0;
  65. 65 }

hdu 1431 素数回文(暴力打表,埃托色尼筛法)的更多相关文章

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

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

  2. F题 hdu 1431 素数回文

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

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

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

  4. HDU 1431 素数回文

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

  5. 素数回文(hdu1431)

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

  6. 4N - 素数回文

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

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

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

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

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

  9. HDU 5651 计算回文串个数问题(有重复的全排列、乘法逆元、费马小定理)

    原题: http://acm.hdu.edu.cn/showproblem.php?pid=5651 很容易看出来的是,如果一个字符串中,多于一个字母出现奇数次,则该字符串无法形成回文串,因为不能删减 ...

随机推荐

  1. 09 eclipse配置maven环境

    eclipse配置maven环境 一.打开eclipse:Window>>Preferences: 二.搜索:"maven",然后点击:"Installati ...

  2. Kafka入门教程(二)

    转自:https://blog.csdn.net/yuan_xw/article/details/79188061 Kafka集群环境安装 相关下载 JDK要求1.8版本以上. JDK安装教程:htt ...

  3. Shell学习(四)——shell中各种括号的作用

    参考博客: [1]shell中各种括号的作用().(()).[].[[]].{} [2]shell中的单层大/中/小括号.双层大中小括号.命令替换等 一.前言 目录 单括号() 双括号(( )) 单中 ...

  4. Linux基础命令---sendmail发送邮件

    sendmail sendmail是postfix中的一个发送邮件的代理程序,它负责发送邮件到远程服务器,并且可以接收邮件.sendmail在发送邮件的时候,默认从标砖输入读取内容,以".& ...

  5. Dubbo多注册中心

    一.创建提供者08-provider-registers (1) 创建工程 直接复制05-provider-group工程,并命名为08-provider-registers (2) 修改配置文件 二 ...

  6. 【编程思想】【设计模式】【结构模式Structural】代理模式Proxy

    Python版 https://github.com/faif/python-patterns/blob/master/structural/proxy.py #!/usr/bin/env pytho ...

  7. springboot 设置项目路劲后不能访问首页

    环境背景 学习版本 : springboot2.31 controller  代码 @controller public class Iindex{ @RequestMapping("/&q ...

  8. 【Java 基础】Java日期格式问题

    1. Use SimpleDateFormat to format Date. Watch out, SDF is NOT THREAD-SAFE, it might not be important ...

  9. JavaEE复习三

    Http协议是基于请求/响应模式.无状态的协议:所有请求时相互独立的.无连续的:服务器无法记住与识别用户. 对于简单的页面浏览或信息获取,http协议可以完全胜任:对于需要提供客户端和服务器端交互的网 ...

  10. 『与善仁』Appium基础 — 20、Appium元素定位

    目录 1.by_id定位 2.by_name定位 3.by_class_name定位 4.by_xpath定位 5.by_accessibility_id定位 6.by_android_uiautom ...