简单水题
#include<stdio.h>
#include<math.h>
int ans[105];
int transfer(int n, int radix)
{
int index=0,res=0;
while(n){
ans[index++]=n%radix;
n/=radix;
}
for(int i=0;i<index;i++){
res*=radix;
res+=ans[i];
}
return res;
}
int isPrime(int n)
{
if(n==1 || n==0)
return 0;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i,n,d;
//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);
while(scanf("%d%d",&n,&d)!=EOF&&n>=0){
// if(n==1&&n==0){
// printf("No\n");
// continue;
// }
if(!isPrime(n)){
printf("No\n");
} else {
n=transfer(n,d);
if(isPrime(n))
printf("Yes\n");
else
printf("No\n");
}
}
return 0;
}