#include<stdio.h>
#include<vector>
using namespace std;
vector<int>mid;
bool isprime(int x) {
int i;
if(x<2)
return false;
for (i = 2; i * i <= x; i++)
if (x % i == 0)
return false;
return true;
}
int todemical(vector<int>num,int radix) {
int i,sum=0,j=1;
for (i =0;i<num.size();i++) {
sum += num[i] * j;
j *= radix;
}
return sum;
}
void toradix(int x, int radix) {
int r;
r = x % radix;
if (x >= radix)
toradix(x / radix, radix);
mid.push_back(r);
return;
}
int main() {
int a, b,t=0;
while (scanf("%d", &a),a>0) {
if(t!=0)
printf("\n");
t++;
scanf("%d", &b);
if (!isprime(a))
printf("No");
else {
mid.clear();
toradix(a, b);
if (isprime(todemical(mid,b)))
printf("Yes");
else
printf("No");
}
}
return 0;
}
1015 Reversible Primes
最新推荐文章于 2024-09-09 22:12:12 发布