1015. reversible PRIMES (20)
AReversible primeIn 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.
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.
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 1023 223 10-2
Sample output:
YesYesNo
Recommendation index ※
The consciousness of the question is that there is a 10-digit number N, which allows you to determine the n 'After Turning Based on D and whether N and n' are prime numbers. Note that the original N is not converted in hexadecimal format.
#include<iostream>#include<math.h>using namespace std;long resver_num(int n,int rd){long x;x=n%rd;while(n/rd>0){n=n/rd;x=x*rd+n%rd;}return x; }bool is_prime(long x){int i;if(x==1)return false;for(i=2;i<=pow(x,0.5);i++){if(x%i==0)return false;}return true;}int main(){int n,d;long x,y;cin>>n;while(n>=0){cin>>d;y=resver_num(n,d);if(is_prime(n)&&is_prime(y))cout<<"Yes"<<endl;elsecout<<"No"<<endl;cin>>n;}return 0;}