PAT1015
A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime.
一个反素数是任意数字系统中,不仅本身是素数反的也是素数
For example in the decimal system 73 is a reversible prime because its reverse 37 is also a prime.
比如在小数系统中73是一个反素数,因为37也是素数。
Now given any two positive integers N (< 105) and D (1 < D <= 10), you are supposed to tell if N is a reversible prime with radix D.
现在给出任意两个正整数N和D,要求你写出N的D进制是不是反素数
Input Specification:
The input file consists of several test cases. Each case occupies a line which contains two integers N and D. The input is finished by a negative N.
Output Specification:
For each test case, print in one line "Yes" if N is a reversible prime with radix D, or "No" if not.
Sample Input:
73 10
23 2
23 10
-2
Sample Output:
Yes
Yes
No
判断N是不是素数,然后将N转换成D进制的数,然后翻转,然后转成10进制,然后判断结果和N是不是都是素数。
如23 2
转换成2进制是10111
反转是11101
转换成十进制是29
因为29和23都是素数,所以输出yes
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm> using namespace std; //判读是不是素数,是返回1,不是返回0
int isSu(int number)
{
if(number < )
return ;
for (int i = ; i*i <= number; i++)
{
if(number%i == )
return ;
}
return ;
} //将一个整数转换成任意进制,,逆序之后转换成10进制返回
int change(int a,int d)
{
int result=;
int q=;
int jinzhi[];
while (a>)
{
jinzhi[q] = a%d;
a /= d;
q++;
}
int dishu = ;
for (int i = q-; i >= ; i--)
{
result += jinzhi[i]*dishu;
dishu*=d;
}
return result;
} int main()
{
int n,d;
while (true)
{
cin>>n;
if(n<)
break; cin>>d; if(isSu(n) && isSu(change(n,d)))
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return ;
}
两点值得说明的,素数的判断没有用sqrt()而是用了i*i,还有就是我第一次错在,1不是素数上面了,其他都特别简单
PAT1015的更多相关文章
- PAT1015. Reversible Primes
//题的理解是n在基数b中的的表示中,正序和逆序值都是素数,但是其实可直接判断n,因为n在b中的正常序列值就是再换成十进制就是n,但是不A:不知道为什么 用笨方法,先把n展开成b进制,正常计算其实是翻 ...
- PAT1015—— 德才论
宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...
- 从零单排PAT1015,1016,1017,1018
1015德才论 题目要求: 输入格式: 输入第1行给出3个正整数,分别为:N(<=105),即考生总数.L(>=60).为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取:H ...
- pat1015. Reversible Primes (20)
1015. Reversible Primes (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A r ...
- PAT-1015 Reversible Primes (20 分) 进制转换+质数
A reversible prime in any number system is a prime whose "reverse" in that number system i ...
随机推荐
- 20_学生选课数据库SQL语句练习题
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- 解决 .NET Core 中 GetHostAddressesAsync 引起的 EnyimMemcached 死锁问题
在我们将站点从 ASP.NET + Windows 迁移至 ASP.NET Core + Linux 的过程中,目前遇到的最大障碍就是 —— 没有可用的支持 .NET Core 的 memcached ...
- 关于maven相互依赖的工程部署问题
环境:win7 64位,myeclipse10.6,eclipse4.5,都配置了svn插件 问题描述:1.工程模块化之后都是通过pom配置model来关联的,svn提交之后,通过myeclipse的 ...
- Python 常见的内置模块
datetime datetime是python处理日期和时间的标准库 获取当前日期和时间 我们先看看如何获取当前的日期和时间: >>> from datetime import d ...
- Linux手动搭建LAMP环境
当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...
- wireshark 包过滤
tcp.port == 443 or udp.port==443 or tcp.port==53 or udp.port==53
- InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效
emWIN里面的无效重绘和windows很类似. WM_InvalidateArea()和WM_InvalidateRect()只重绘指定的区域,其他区域不会重绘,这样避免了闪烁,重绘发生在下次WM_ ...
- numpy中的matrix矩阵处理
numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matr ...
- document.domain的修改问题
有时候,需要修改document.domain. 典型的情形:http://a.xxx.com/A.htm 的主页面有一个<iframe src="http://b.xxx.com/B ...
- OpenCV中Mat的列向量归一化
OpenCV中Mat的列向量归一化 http://blog.csdn.net/shaoxiaohu1/article/details/8287528 OpenCV中Mat的列向量归一化 标签: Ope ...