题目大意:求出区间[a,b]之间的回文质数。 a<=b<=10^8;

解题过程:

1.先打个素数表,新学了个 欧拉筛法,是对普通筛法的改进。普通筛法是每找到一个素数,就把它的所有倍数标记成1,那么对于一个合数,它会被它的所有质因数标记一次。那么就浪费了时间(复杂度O(NloglogN))。欧拉筛法的复杂度可以降到O(N),

它的优化在于 找到一个质数的时候,把所有是它的质数倍的数标记成1(搜一遍已经找到的质数),如果某一个质数是它的约数,那么break;见代码:

 void generate_prime()
{
int c;
check[]=;
for (int i=;i<=;i++)
{
if (!check[i])
prime[++cnt]=i;
for (int j=;j<=cnt;j++)
{
c=i*prime[j];
if (c>)
break;
check[c]=true;
if (i % prime[j]==)
break;
}
}
}

2.接下来是如何产生回文数,首先0到9必定是,先放到表中。需要分情况考虑:

A.回文数的位数 是偶数。 那么从1到10000枚举回文数的一半,如何产生另一半。

B.回文数的位数 是奇数, 那么先枚举最中间的那个数,然后枚举左边一半,从1到1000;

3.最后写个判断质数的函数,把所有符合要求的放入一个表中,排个序输出即可。

Prime Palindromes的更多相关文章

  1. <Sicily>Prime Palindromes

    一.题目描述 The number 151 is a prime palindrome because it is both a prime number and a palindrome (it i ...

  2. USACO 1.5 Prime Palindromes

    Prime Palindromes The number 151 is a prime palindrome because it is both a prime number and a palin ...

  3. 4190. Prime Palindromes 一亿以内的质数回文数

    Description The number 151 is a prime palindrome because it is both a prime number and a palindrome ...

  4. P1217 [USACO1.5]回文质数 Prime Palindromes(求100000000内的回文素数)

    P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...

  5. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes

    P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...

  6. luogu P1217 [USACO1.5]回文质数 Prime Palindromes x

    P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...

  7. USACO Prime Palindromes 构造回文数

    这道题目一点也不卡素数的判断 就是朴素的sqrt(n) 也不卡 所以~放心的用吧. 构造回文的时候看了HINT 其中是这么写的: Generate palindromes by combining d ...

  8. 回文质数 Prime Palindromes

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...

  9. P1217 [USACO1.5]回文质数 Prime Palindromes

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...

  10. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes【取回文数/数论/字符串】

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...

随机推荐

  1. Python学习(11)字典

    目录 Python 字典 访问字典中的值 修改字典 删除字典元素 字典键的特性 字典内置函数&方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. ...

  2. (一)MII/MDIO接口详解

    本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法. ...

  3. golang type 和断言 interface{}转换

    摘要 类型转换在程序设计中都是不可避免的问题.当然有一些语言将这个过程给模糊了,大多数时候开发者并不需要去关 注这方面的问题.但是golang中的类型匹配是很严格的,不同的类型之间通常需要手动转换,编 ...

  4. 企业信息化快速开发平台JeeSite

    网站:http://jeesite.com/ 可用于企业后台管理

  5. 青云的机房组网方案(简单+普通+困难)(虚树+树形DP+容斥)

    题目链接 1.对于简单的版本n<=500, ai<=50 直接暴力枚举两个点x,y,dfs求x与y的距离. 2.对于普通难度n<=10000,ai<=500 普通难度解法挺多 ...

  6. MVC HtmlHelper用法大全

    MVC HtmlHelper用法大全HtmlHelper用来在视图中呈现 HTML 控件.以下列表显示了当前可用的一些 HTML 帮助器. 本主题演示所列出的带有星号 (*) 的帮助器. ·Actio ...

  7. Linux命令(1) - 查看内存使用情况: free -hm

    使用"free -hm"命令查看linux服务器的内存使用状况,其中-h表示人性化显示,-m表示将内存显示为M:

  8. 启动一个新的activity并携带数据,返回数据给上一个activity

    一.在启动一个新的activity的时候可以通过Intent携带数据,通过Intent.putExtra()方法通过键值对的形势装入数据.在新启动的activity中通过           getI ...

  9. quatz2d使用注意点

    1使用图层设置圆角,cornerRadiu一般设置为10的参数,若设置圆形,cornerRadiu设为宽度的一半

  10. OpenCV白平衡算法之灰度世界法(消除RGB受光照影响)

    在用OpenCV对图像进行处理时,利用颜色定位是常常会接触到的方法,但RGB受光照影响比较严重,转换到HSV XYZ等空间也解决不了时, 可以用白平衡算法进行修正,使其发黄.发蓝.发红的照片更加趋于自 ...