PAT 1015. Reversible Primes (20)
http://www.patest.cn/contests/pat-a-practise/1015
#include<cstdio> #include<cstring> using namespace std; int n, d; char s[1000]; int toRadix(int x, int d) { int result = 0; while(x) { result = result * d + x % d; x /= d; } return result; } bool isPrime(int x) { if (x < 2) return false; for(int i = 2; i * i <= x; ++i) { if(!(x % i)) return false; } return true; } int main() { while(scanf("%d", &n), n > 0) { scanf("%d", &d); printf("%s\n", (isPrime(n) && isPrime(toRadix(n, d))) ? "Yes" : "No"); } return 0; }

浙公网安备 33010602011771号