1015. Reversible Primes (20)
注意1不是素数
#include<cstdio>
using namespace std;
int reverse(int n,int d){
int rst=0;
while(n){
rst*=d;
rst+=n%d;
n/=d;
}
return rst;
}
bool isprime(int n){
if(n==1) return false;
for(int i=2;i*i<=n;i++)
if(n%i==0)
return false;
return true;
}
int main(){
int n,d;
while(scanf("%d",&n)&&n>=0){
scanf("%d",&d);
bool goal=true;
if(!isprime(n))
goal=false;
n=reverse(n,d);
if(!isprime(n))
goal=false;
printf("%s\n",goal?"Yes":"No");
}
return 0;
}