admin 管理员组

文章数量: 1087649

PAT A 1015. Reversible Primes

PAT A 1015. Reversible Primes

给一个10进制数
转成D进制
取倒序
再转成10进制
看两个是否都是质数
坑点在于
1不是质数
不考虑这个就有2分得不到

#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x)
{if (x <= 1) return false;for (int i = 2; i * i <= x; i++) {if (x % i == 0) {return false;}}return true;
}
int main()
{//freopen("in", "r", stdin);int N, D;for (;;) {scanf("%d", &N);if (N < 0) break;scanf("%d", &D);vector<int> a;if (!isPrime(N)) {puts("No");continue;}while (N) {a.push_back(N % D);N /= D;}int r = 1;int s = 0;for (auto it = a.rbegin(); it != a.rend(); it++) {int e = (*it);s += (e * r);r *= D;}if (isPrime(s)) {puts("Yes");continue;}puts("No");}
}

本文标签: PAT A 1015 Reversible Primes