整体思路

  • 使用埃拉拖色尼算法提前计算出1000以内的素数表。

  • 设计一个回文判断函数isHW(int n),难点在于数字回文的判断。一个简单的方法是将数字n使用sprintf输出在一个数组中,然后从数组的头和尾开始进行逐一对比。

著名金融家“索罗斯”的名字“SOROS”就是一个回文字串。

例程

#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
bool ss[10001]; //素数表
int count; //计数器 void altsn(int N){ //埃拉拖色尼算法
ss[0]=1;
ss[1]=1;
int p=2;
while(p<=sqrt(N))
if(ss[p]) p++;
else{
int times=2;
while(p*times<=N) { ss[p*times]=1; times++;}
p++;
}
} bool isP(int n){ //素数判断函数
if(!ss[n]) return true;
return false;
} bool isHW(int n){ //回文判断函数
char s[10];
int len, i, j;
sprintf(s, "%d", n); //将n输出值数组中
len=strlen(s);
for(i=0, j=len-1; s[i]==s[j] && i<j; i++,j--) ; //注意这个循环
if(i==j || (j+1)==i) return true; //注意成为回文的条件
return false;
} int main(){
int N;
cin>>N;
altsn(N);
for(int i=11; i<=N; i++) //从11~N依次判断
if(isP(i) && isHW(i)) count++; //是素数且是回文
printf("%d", count);
return 0;
}

NOI-OJ 1.13 ID:5 素数回文数的个数的更多相关文章

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

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

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

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

  3. 4N - 素数回文

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

  4. 素数回文(hdu1431)

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

  5. F题 hdu 1431 素数回文

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

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

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

  7. yzoi1109&&viojs1042最小步数的一点看法——回文数

    Description - 问题描述 有一天,雄霸传授本人风神腿法第一式:捕风捉影..............的步法(弟子一:堂主,你大喘气呀.风:你给我闭嘴.)捕风捉影的关键是换气(换不好就会大喘气 ...

  8. POJ 2402 Palindrome Numbers(LA 2889) 回文数

    POJ:http://poj.org/problem?id=2402 LA:https://icpcarchive.ecs.baylor.edu/index.php?option=com_online ...

  9. [LeetCode] 906. Super Palindromes 超级回文数

    Let's say a positive integer is a superpalindrome if it is a palindrome, and it is also the square o ...

随机推荐

  1. python--继承--方法的重写---和父类的扩展

    1.方法的重写 父类的方法不能满足子类的需要,可以对方法重写 具体的实现方式,就相当于在子类中定义了一个和父类同名的方法并实现 重写之后只会对子类的方法调用,而不会调用父类封装的方法 2.对父类方法进 ...

  2. kernel笔记——内核同步与锁

    内核同步 内核同步解决并发带来的问题,多个线程对同一数据进行修改,数据会出现不一致的情况,同步用于保护共享数据等资源. 有两种形式的并发: 同时进行式并发,在不同cpu上执行的进程同时访问共享数据 二 ...

  3. Git拉取、提交、迁出、合并、删除分之命令

    #拉取代码 git clone -b 分之名称 git地址 #提交代码 git add . //:注释,if是第一次提交: $ git add --all . (请注意后面有个英文点(表示是当前目录) ...

  4. day 9~11 函数

    今日内容 '''函数四个组成部分函数名:保存的是函数的地址,是调用函数的依据函数体:就是执行特定功能的代码块函数返回值:代码块执行的结果反馈函数参数:完成功能需要的条件信息​1.函数的概念2.函数的定 ...

  5. C# 使用微软自带的Speech进行语音输出

    1.在VS中使用微软自带的Speech进行语音播报,首先需要添加引用: 2.具体实现逻辑代码如下:

  6. Generative Adversarial Nets[BEGAN]

    本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...

  7. 8个Python高效数据分析的技巧

    一行代码定义List 下面是使用For循环创建列表和用一行代码创建列表的对比. x = [1,2,3,4] out = [] for item in x: out.append(item**2) pr ...

  8. EasyUI datagrid formatter 属性

    easyui的formatter属性可以帮助我们更加灵活的显示数据库中的数据. 比如,我有一个启用禁用字段,使用数字表示,1表示启用,2表示禁用,展示给客户的时候我当然希望是中文的形式. 只需要写这么 ...

  9. spark-MLlib之线性回归

    >>提君博客原创  http://www.cnblogs.com/tijun/  << 假定线性拟合方程: 提君博客原创 变量 Xi 是 i 个变量或者说属性  参数 ai 是 ...

  10. Linux(Ubuntu)使用日记(零)------使用Linux的理由

    我为什么要使用Linux呢,也许在某些人看来或许是装B,但是我的原因有点复杂,简单做下总结(以事情的发展历程为顺序) 升级后开机慢关机慢,崩溃.最近刚刚升级了windows,自己原来的win10其实是 ...