[1008]harder_prime
素数定义:一个大于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的更多相关文章
- HDOJ 1008. Elevator 简单模拟水题
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- poj 1008:Maya Calendar(模拟题,玛雅日历转换)
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64795 Accepted: 19978 D ...
- POJ 1008 Maya Calendar
链接:http://poj.org/problem?id=1008 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Subm ...
- BZOJ 1008 题解
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 7845 Solved: 3359[Submit][Status] ...
- HDU 4777 Rabbit Kingdom (2013杭州赛区1008题,预处理,树状数组)
Rabbit Kingdom Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 【BZOJ】1008: [HNOI2008]越狱(快速幂)
http://www.lydsy.com/JudgeOnline/problem.php?id=1008 刚开始看不会做啊,以为是dp,但是数据太大!!!所以一定有log的算法或者O1的算法,,,,还 ...
- PAT (Top Level) Practise 1008 Airline Routes(Tarjan模版题)
1008. Airline Routes (35) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue Given a ...
- PAT乙级 1008. 数组元素循环右移问题 (20)
1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一个数组A中存有N(N>0)个整数,在不允 ...
- [ZOJ 1008]Gnome Tetravex (dfs搜索 + 小优化)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008 题目大意:给你n*n的矩阵,每个格子里有4个三角形,分别是 ...
随机推荐
- 关于Ajax load页面中js部分$(function(){})的执行顺序
<script type="text/javascript"> console.error(11111); $(function(){ console.error(22 ...
- 05 Apache Solr: 管理员界面(Admin UI)
为了方便管理员和工程师调整Solr的配置和访问在线文档和其他的帮助,Solr提供了一个Web界面去查看Solr的配置详情,运行查询语句和分析文档字段.这个界面在第三篇里面提到过就是管理员界面 ...
- APP如何实现推送功能
一.推送功能的集成 (1)在Umeng开发者中心,申请新应用,开通推送功能.此时需要上传开发推送证书和生产推送证书的p12文件. 申请证书的流程如下: >>1 创建开发推送证书 >& ...
- 一台独立的服务器是可以可以建立多个网站的,一个ip地址,一个端口
# 1,若开启虚拟主机,这个一定要有(IP:端口),找到 #NameVirtualHost *:80 修改成: NameVirtualHost 127.0.0.1:80 # 2,修改<Direc ...
- 调整Win7中TCP/IP半开连接数限制
调整Win7中TCP/IP半开连接数限制 相信大家都有过这样的经历,普通的ADSL宽带下,打开下载工具下载资源时,再想浏览网页就会变得非常困难了,Windows7中也未能幸免. 究其原因 ...
- C语言实现 字符串过滤并修改并返回个数
基本问题:给定一个strContent,strWord,使用strWord 匹配strContent,匹配成功,将匹配部分全部替换为‘*’ ,并返回匹配成功个数.注意不能使用库函数. 例如:strCo ...
- 浅析MVC模式与三层架构的区别01
三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层)三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI ...
- bind原理 附带上自己的一些理解 (引自javascript设计模式和与看法实践)
Function.prototype.bind = function(){ //this指向的是所有由Function构造器产生的函数 var self = this, // 保存原函数 //[] ...
- moss2003 sp3补丁安装
安装完成以后自己在产品库里增加的存储过程不见了,自我保护?
- webDriver环境搭建与测试
1.安装jdk 2.安装eclipse 3.安装selenium 由于使用的是开发语言是java,因此需要安装java版的selenium包.下载地址:http://pan.baidu.com/s/1 ...