1015 Reversible Primes
//Prime是素数
#include<iostream>
#include<cmath>
using namespace std;
//进行转换
int ReverseNumber(int number,int redix){
string str;
do{
int tmp=number%redix;
str+=tmp+'0';
number/=redix;
}while(number!=0);
int reverseNumber=0;
for(int i=0;i<str.size();i++){
char t=str[i];
reverseNumber=reverseNumber*redix+t-'0';
}
return reverseNumber;
}
//判断是否为素数
bool isPrime(int number){
if(number<=1){
return false;
}
for(int i=2;i<=sqrt(number);i++){
if(number%i==0){
return false;
}
}
return true;
}
int main(){
int number,redix;
while(true){
cin>>number;
if(number<0)break;
cin>>redix;
if(isPrime(number)&&isPrime(ReverseNumber(number,redix))){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
}
return 0;
}
