#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <map>
#include <set>
using namespace std;
bool isp(int a)
{
if(a==1)
return 0;
int sqrtt=(int)sqrt(a);
int i;
for(i=2;i<=sqrtt;i++)
{
if(a%i==0)
return 0;
}
return 1;
}
int main()
{
// freopen("in.txt","r" ,stdin);
int N,D;
while(scanf("%d",&N)!=EOF)
{
if(N<0)
break;
scanf("%d",&D);
if(isp(N)==0)
{
printf("No\n");
continue;
}
vector<int> v;
do{
v.push_back(N%D);
N=N/D;
}while(N!=0);//转换为2进制
int t=0;
for(int i=0;i<v.size();i++)
{
t=t*D+v[i];
}
if(isp(t)==1)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
1015. Reversible Primes (20) ---关于进制转换操作
最新推荐文章于 2021-07-22 15:33:28 发布