AcWing 1492. 可逆质数
原题链接
简单
作者:
LizMurray
,
2021-02-17 18:00:35
,
所有人可见
,
阅读 451
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
bool is_prime(int n)//判断素数
{
if (n <2)
{
return false;
}
for (int i = 2; i <=sqrt(n); i ++ )
{
if (n % i == 0)
{
return false;
}
}
return true;
}
bool check(int n, int d)
{
if (!is_prime(n))//如果不是素数
{
return false;
}
long long res = 0;
while(n)
{
res = res * d + n % d;//转换
n /= d;
}
if (is_prime(res))
{
return true;
}
else
{
return false;
}
}
int main()
{
int n, d;
while(cin >> n >> d, n >= 1)
{
if (check(n, d))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}