PAT-Advanced Level -1015 判断素数反转后是否是素数
来源:互联网 发布:网上代购彩票源码 编辑:程序博客网 时间:2024/05/17 04:56
链接:http://www.patest.cn/contests/pat-a-practise/1015
输入 :N D N (< 105) and D (1 < D <= 10)
输出 :Yes/No
如果N是素数并且N在D进制下反转后 仍然是素数,则输出Yes,否则No
【分析】先构造105以内的素数表,然后求反转,判断并输出结果
构造素数表参考博客 http://blog.csdn.net/anqier0468/article/details/9986721
#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>using namespace std;bool prime[100010];void init(){ memset(prime,true,sizeof(prime)); prime[0]=false; prime[1]=false; for(int i=2;i*i<100000;i++) { for(int j=2;j*i<100000;j++) { prime[j*i]=false; } }}int reverse_(int num,int d){ int r[100000]; int cnt=0; while(num) { r[cnt++]=num%d; num/=d; } int a=0; for(int i=0;i<cnt;i++) { a=a*d+r[i]; } return a;}int main(){// freopen("in.txt","r",stdin); init(); int num,d; while(cin>>num&&num>=0) { cin>>d; int ans= reverse_(num,d); if(prime[ans] && prime[num]) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0;}
0 0
- PAT-Advanced Level -1015 判断素数反转后是否是素数
- 判断是否是素数
- 判断是否是素数
- 判断是否是素数
- 判断是否是素数
- 判断是否是素数
- 判断是否是素数
- 循环判断是否是素数
- java判断是否是素数
- 判断整数是否是素数
- 判断手机号是否是素数
- PAT-Advanced Level 1019 判断一个数在n进制下是否是回文数
- 素数筛选(判断<MAXN的数是否是素数)
- 判断一个数是否是素数
- 判断一个数是否是素数
- 判断一个数是否是素数
- 判断一个数是否是素数
- 判断一个数是否是素数
- spa(单页面应用)的优缺点
- 技术与经济之四:马克思眼中的无产阶级
- 剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面
- windows cmd 批处理将文件名改为小写
- 关于JavaScript右键弹出式菜单
- PAT-Advanced Level -1015 判断素数反转后是否是素数
- sqlserver中的通配符
- C盘优化
- NAPI 技术在 Linux 网络驱动上的应用和完善
- 事务使用简明教程
- 状态压缩DP总结【POJ3254】【POJ1185】【POJ3311】【HDU3001】【POJ2288】【ZOJ4257】【POJ2411】【HDU3681】
- 拓扑排序
- Sqlserver中char,nchar,varchar与Nvarchar的区别
- HDU 5335 Walk Out (搜索+贪心,超详解)经典