pprime解题报告 —— icedream61 博客园(转载请注明出处)
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
  求a到b之间的所有回文素数(即又是素数又是回文数的数)。
【数据范围】
  5<=a,b<=100,000,000
【输入样例】
  5 500
【输出样例】
  5
  7
  11
  101
  131
  151
  181
  191
  313
  353
  373
  383
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
  筛法求素数+回文数判断。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
  第一个点就卡住了,运行时错误。
  题目开始出现大数据了,以后要在交之前测试一下边界情况。
  本机测试没问题,经过多次OJ上测试,得出是定义数组的大小问题。数据给出b的最大值的是100,000,000,但若我bool数组建这么大,会爆运行时错误。
  我的解决办法是,实测满足条件的最大数maxd=9,989,899,于是数组范围定义为d[0~maxd],AC了……
  本题问题在于,我对USACO不甚了解。我查了USACO的内存限制,程序所用内存不能超过16M。
  maxd=9,989,899时,所占内存约为10/8=1.25M,肯定没问题。
  maxd=100,000,000时,所占内存约为100/8=12.5M,应该不超内存的;而USACO上面显示,我的代码运行0.000s时,使用了312KB的内存,这个看来自然是不可信……不知道为什么会超内存,好奇怪,这是为什么?在此向大家请教,希望知道的同学不吝赐教,多谢!

------------------------------------------------------------------------------------------------------------------------------------------------

【代码】

 /*
ID: icedrea1
PROB: pprime
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; const int maxd = ;
//const int maxd = 100000000; int a,b;
bool d[+maxd]; int bit[],l;
bool isPal(int x)
{
l=;
while(x) { bit[++l]=x%; x/=; }
for(int i=;i<=(l>>);++i)
if(bit[i]!=bit[l+-i]) return false;
return true;
} int main()
{
ifstream in("pprime.in");
ofstream out("pprime.out"); d[]=d[]=true;
for(int i=;i<=;++i)
if(!d[i])
for(int j=i+i;j<=maxd;j+=i) d[j]=true; in>>a>>b; for(int i=a;i<=b;++i)
if(i<=maxd && !d[i] && isPal(i)) out<<i<<endl; in.close();
out.close();
return ;
}

USACO Section1.5 Prime Palindromes 解题报告的更多相关文章

  1. USACO Section1.3 Prime Cryptarithm 解题报告

    crypt1解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  2. USACO Section1.2 Dual Palindromes 解题报告

    dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

  3. USACO Section1.5 Superprime Rib 解题报告

    sprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  4. USACO Section1.5 Number Triangles 解题报告

    numtri解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  5. USACO Section1.4 Arithmetic Progressions 解题报告

    ariprog解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

  6. USACO Section1.3 Combination Lock 解题报告

    combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  7. USACO Section1.3 Barn Repair 解题报告

    barn1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  8. USACO Section1.3 Mixing Milk 解题报告

    milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...

  9. USACO Section1.2 Palindromic Squares 解题报告

    palsquare解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...

随机推荐

  1. Lubuntu , ubuntu 搜索文件

    使用命令行方式搜索 $ locate your_filename

  2. SIEMENS Simotion 运动控制器设置Web service, HTTP, FTP访问密码

    早期版本的web service, 访问密码是 用户名 : simotion 密码 : simotion 新版本,Firmware >= 4.4之后,考虑到安全性,控制器没有默认密码.设置密码方 ...

  3. mysql全部基本数据类型

    MySQL基本数据类型统计http://www.cnblogs.com/xuqiang/archive/2010/10/14/1953464.html 详细介绍http://www.cnblogs.c ...

  4. Axure 8 Tab制作

    1 在[页面]面板中选中[page1] 2 在[元件库]中选中[动态面板],并拖拽到[设计区域]中 3 双[设计区域]中的动态面板,打开[动态面板管理]页面 4 在[动态面板管理]页面中输入动态面板的 ...

  5. POJ-2513 Colored Sticks---欧拉回路+并查集+字典树

    题目链接: https://vjudge.net/problem/POJ-2513 题目大意: 给一些木棍,两端都有颜色,只有两根对应的端点颜色相同才能相接,问能不能把它们接成一根木棍 解题思路: 题 ...

  6. Android(java)学习笔记67:Android Studio新建工程中的build.gradle、settings.gradle

    随着信息化的快速发展,IT项目变得越来越复杂,通常都是由多个子系统共同协作完成.对于这种多系统.多项目的情况,很多构建工具都已经提供了不错的支持,像maven.ant.Gradle除了借鉴了ant或者 ...

  7. 转:postMan 使用教程

    转:https://www.cnblogs.com/alanjl/p/5490922.html 自从开始做API开发之后,我就在寻找合适的API测试工具.一开始不是很想用Chrome扩展,用的 Wiz ...

  8. openstack kilo python cinderclient

    ➜  ~ pythonPython 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on ...

  9. 第34-3题:LeetCode437. Path Sum III

    题目 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数. 示例: root = [10,5,-3,3,2,null,11,3,-2,null,1], sum ...

  10. HTTP协议中request报文请求方法和状态响应码

    一个HTTP请求报文由4部分组成: 请求行(request line) 请求头部(header) 空行 请求数据 下图给出了请求报文的一般格式: 请求行中包括了请求方法,常见的请求方法有: GET:从 ...