#include<bits/stdc++.h>
using namespace std;
long long n,d;
void re() {
long long sum=0;
long long N=1;
while(n) {//求n的d进制
sum+=n%d*N;
n/=d;
N*=10;
}
n=sum;
sum=0;
while(n) {//d进制数n反转
sum*=10;
sum+=n%10;
n/=10;
}
n=sum;
sum=0;
N=1;
while(n){//将d进制转回10进制
sum+=n%10*N;
n/=10;
N*=d;
}
n=sum;
}
bool prime() {//判断素数
if(n<2)
return false;
for(long long i=2; i*i<=n; i++)
if(n%i==0)
return false;
return true;
}
int main() {
while(1) {
scanf("%lld",&n);
if(n<0)
return 0;
scanf("%lld",&d);
if(!prime())
printf("No\n");
else {
re();
if(prime())
printf("Yes\n");
else
printf("No\n");
}
}
return 0;
}
1015 Reversible Primes
最新推荐文章于 2024-09-13 17:43:09 发布