[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个三角形,分别是 ...
随机推荐
- c++ cout介绍与实现自己的cout
C++编程语言互换流中的标准输出流,需要iostream支持.读为 "c out([si:‘aʊt]". 名字 cout 类型 std::ostream 读为 "c ou ...
- maven css/js 压缩配置
<plugin> <groupId>net.alchim31.maven</groupId> <art ...
- 05 Apache Solr: 管理员界面(Admin UI)
为了方便管理员和工程师调整Solr的配置和访问在线文档和其他的帮助,Solr提供了一个Web界面去查看Solr的配置详情,运行查询语句和分析文档字段.这个界面在第三篇里面提到过就是管理员界面 ...
- JavaWeb 学习004-增删改查的编写
完成了grade,student模块的 数据库连接部分,还需要不断重复这个过程,熟练掌握JDBC的编写. 在不断编写的过程中,加深理解代码. 下一步 1.biz层面的知识内容 2.还有就是登陆成功后跳 ...
- 特征提取k_word
1) 若直接以20种氨基酸统计k_word: (以ZD98数据集为例) k Dimension 2 400 3 6490 4 22265 维数太大不适用构造特征向量 考虑氨基酸约化后特征提取 约化方案 ...
- Ueditor 编译发布后无法使用上传图片、附件等功能
Ueditor 发布后上传到服务器会出现无法使用上传功能,在本地源代码模式下上传功能正常,这是因为在网站发布期间把 net/Uploader.cs 给编译了,发布后的代码不包含Uploader.cs故 ...
- php中ajax调用出错的问题
最近用一些php,客户的使用jquery ajax的时候经常报错 ajax报错内容:readyState:4 status:"OK",statusText:"OK&quo ...
- hdu 5876 (补图BFS) Sparse Graph
题目:这里 题意: 相当于一开始给一个初始好了的无向完全图给你,然后给让你删除m条边,再给你一个点v,最后问你在剩下的图里从这个点v出发能到达所有边点的最小路径是多少? 一看是所有点的最小路径,一看就 ...
- 第五回. $e$ 的引入
假如你有 $1$ 块钱, 存银行, 利率为 $100\%$, 那么一年后本息和为$$1+1=2.$$ 如果你换种存法, 存半年, 把本息和取出来, 再存半年, 那么一年后本息和为$$\left(1+\ ...
- Android studio下载依赖包很慢
build gradle文件 buildscript { repositories { //jcenter() maven { url 'http://maven.oschina.net/conten ...