#include <stdio.h>
#include <string.h>
int num[25];
bool isPrime(int n)
{
for(int i = 2; i < n; i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
int n, radix;
while(scanf("%d", &n) != EOF)
{
if(n < 0) break;
scanf("%d", &radix);
if(n == 1)
{
printf("No\n");
continue;
}
int i = 0, j;
if(isPrime(n) == false)
{
printf("No\n");
continue;
}
while(n != 0)
{
num[i++] = n % radix;
n = n / radix;
}
n = 0;
for(j = 0; j < i; j++)
n = n * radix + num[j];
if(n == 1)
{//忘记判断转换后是否为1,有一个测试点没过
printf("No\n");
continue;
}
if(isPrime(n))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
pat 1015
最新推荐文章于 2022-01-21 17:46:48 发布