PAT--1015. Reversible Primes
2016-07-16 20:09
429 查看
pat 1015
N转换为D进制下的数,reverse之后再转换为十进制,判断是否为素数。
题解
判断N是否为素数;N转换为D进制下的数,reverse之后再转换为十进制,判断是否为素数。
#include <iostream> #include <cstdio> #include <string> #include <cmath> #include <algorithm> using namespace std; bool isPrime(int n){ if(n < 2) return false; int k = sqrt(n); for(int i = 2; i <= k; ++i){ if(n % i == 0) return false; } return true; } bool solve(int N, int D){ if(!isPrime(N)) return false; string n; while(N){ n += N % D + '0'; N /= D; } int res = 0; for(int i = 0; i < n.length(); ++i){ res = res * D + (n[i] - '0'); } return isPrime(res); } int main(){ int N, D; while(cin >> N && N >= 0){ cin >> D; cout << (solve(N, D) ? "Yes" : "No") << endl; } return 0; }
相关文章推荐
- libdvbpsi源码分析(四)PAT表解析/重建
- PAT配置
- 什么是端口复用动态地址转换(PAT) 介绍配置实例
- MikroTik layer7-protocol
- PAT是如何工作的
- PAT 乙级题:1002. 写出这个数 (20)
- PAT (Advanced Level) Practise 1001-1010
- 数据结构学习与实验指导(一)
- PAT Basic Level 1001-1010解题报告
- PAT 数素数
- PAT 福尔摩斯的约会
- PAT 德才论
- PAT 月饼
- 1001. 害死人不偿命的(3n+1)猜想
- 1002. 写出这个数
- 1032. 挖掘机技术哪家强
- 1001. 害死人不偿命的(3n+1)猜想 (PAT basic)
- 1002. 写出这个数(PAT Basic)
- 1004. 成绩排名(PAT Basic)
- 1006. 换个格式输出整数(PAT Basic)