素数定义:一个大于1的整数,如果它的约数如果只有1和它本身,那么它就是一个素数。

回文数定义:一个整数把它的各位数字倒过来还是它本身,那么它就是回文数,比如说2,99,393。

回文素数定义:一个数如果既是素数,也是回文数,那么我们就称它为回文数,比如说:7,11,131。

现在我们有n个数,需要你判断它们是不是回文素数。

【输入格式】

第一行仅一个数n(n<100),为要判断的数的个数。

接下来n行,每行有一个数x(x<1,000,000,000),即为要你判断的数。

【输出格式】

共有n行,每行有一个单词,对于每个x,如果x是回文素数,则输出“Yes”,否则输出“No”(不包括引号,注意大小写)。

【输入样例】

3

7

12

121

【输出样例】

Yes

No

No

【数据范围】

40%的数据:n<=10,x<1,000

70%的数据:n<=50,x<100,000

100%的数据:n<100,x<1,000,000,000

Hint

回文数的判断,质数的判断。

优化质数判断的算法。

我的

 #include<stdio.h>
#include<math.h>//sqrt()需要用到这个头文件,莫忘!!!
int main() {
long long n, sum = , x, i;//long long的最大值:9223372036854775807
int flag = , yu;//longlong的最小值:-9223372036854775808
scanf("%lld", &n);//注意为%lld,经常忘记
while (n--) {
scanf("%lld", &x);
long long zhong = sqrt(x);//本来想用x/2的,结果会超时,故用最正确的算法
for (i = ; i <= zhong; i++) {
if (x % i == ) {
flag = ;
break;
}
}
for (i = x; i != ; i /= ) {//将数字颠倒过来的办法
yu = i % ;
sum = sum * + yu;
}
if (sum != x)
flag = ;
if (flag == )
printf("Yes\n");
else
printf("No\n");
flag = ;
sum = ;
}
return ;
}

求解回文数的算法:

一个整数把它的各位数字倒过来还是它本身,所以主要是将数字倒过来

比如你输入的数是12321:
循环开始前:m=12321,sum=0;
第1次循环结束:m=1232,sum=1;
第2次循环结束:m=123,sum = 12;
第3次循环结束:m=12,sum=123;
第4次循环结束:m=1,sum=1232;
第5次循环结束:m=0,sum=12321。
输入的是几位数就循环几次。
判断的思路就是,通过循环依次把m的个位,十位,百位...上的数取出来,与sum*10相加。这样得到的数sum就是m颠倒之后的数,如果两者相等,那就是回文数

[1008]harder_prime的更多相关文章

  1. HDOJ 1008. Elevator 简单模拟水题

    Elevator Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  2. poj 1008:Maya Calendar(模拟题,玛雅日历转换)

    Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64795   Accepted: 19978 D ...

  3. POJ 1008 Maya Calendar

    链接:http://poj.org/problem?id=1008 Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Subm ...

  4. BZOJ 1008 题解

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7845  Solved: 3359[Submit][Status] ...

  5. HDU 4777 Rabbit Kingdom (2013杭州赛区1008题,预处理,树状数组)

    Rabbit Kingdom Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. 【BZOJ】1008: [HNOI2008]越狱(快速幂)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1008 刚开始看不会做啊,以为是dp,但是数据太大!!!所以一定有log的算法或者O1的算法,,,,还 ...

  7. PAT (Top Level) Practise 1008 Airline Routes(Tarjan模版题)

    1008. Airline Routes (35) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue Given a ...

  8. PAT乙级 1008. 数组元素循环右移问题 (20)

    1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一个数组A中存有N(N>0)个整数,在不允 ...

  9. [ZOJ 1008]Gnome Tetravex (dfs搜索 + 小优化)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008 题目大意:给你n*n的矩阵,每个格子里有4个三角形,分别是 ...

随机推荐

  1. 禁止复制放在js文件中

    1.使右键和复制失效 方法1: 在网页中加入以下代码: 复制代码代码如下: <script language="Javascript"> document.oncont ...

  2. 逐个访问URL的每个查询字符串参数

    下面介绍一个函数,用于处理location.search的结果,以解析查询字符串,然后返回包含所有参数的一个对象. 比如  www.baidu.com?q=javascript&num=10 ...

  3. SQL Server创建复合索引时,复合索引列顺序对查询的性能影响

    说说复合索引 写索引的博客太多了,一直不想动手写,有一下两个原因:一是觉得有炒剩饭的嫌疑,有兄弟曾说:索引吗,只要在查询条件上建索引就行了,真的可以这么暴力吗?二来觉得,索引是个非常大的话题,很难概括 ...

  4. yum安装出错

    [root@lxh yum.repos.d]# yum install -y samba Loaded plugins: fastestmirror, refresh-packagekit, secu ...

  5. Hibernate多对一(注解)

    package cqvie.yjq.Util; import java.util.List; import org.hibernate.Query; import org.hibernate.Sess ...

  6. java web(spring mvc) 获取请求host 和 如何获取静态页的相对路径

    1.获取请求host StringBuffer url = request.getRequestURL(); String tempContextUrl = url.delete(url.length ...

  7. 使用dom元素和jquery元素实现简单增删改的练习

    软件开发实际就是数据的增删改查,javascript前端开发也不例外.今天学了jquery框架的简单使用.于是用它实现简单的增删改,接着也用原始的javascript实现同样的功能,以便看出jquer ...

  8. 第五回. $e$ 的引入

    假如你有 $1$ 块钱, 存银行, 利率为 $100\%$, 那么一年后本息和为$$1+1=2.$$ 如果你换种存法, 存半年, 把本息和取出来, 再存半年, 那么一年后本息和为$$\left(1+\ ...

  9. Matlab(2) -- Find()函数

    转自:http://www.matlabsky.com/thread-4228-1-1.html find函数:用于查询非零元素的行和列标志 语法: ind = find(X) ind = find( ...

  10. Ceph剖析:线程池实现

    线程池ThreadPool的实现符合生产者-消费者模型,这个模型解除生产者消费者间的耦合关系,生产者可以专注处理制造产品的逻辑而不用关心产品的消费,消费者亦然.当然,生产者消费者之间需要一个连接的纽带 ...