1.除了1以外的正整数,只被1和本身整除的数为素数;
//1.完成将10进制转换成其他的进制;
//2.判断转换后的数是不是素数;
#include<iostream>
#include<vector>
#include<stdlib.h>
using namespace std;
//对十进制n按m的进制转换的逆序数
int tranfer(int n, int m)//n是需要被转换的数,m是进制,例如n=31,m=3,
{
std::vector<int>temp;
while (n)
{
temp.push_back(n%m);
n = n / m;
}
int transfer_num = 0;
int j = temp.size() - 1;
for (int i = 0; i < temp.size(); i++)
{
transfer_num += temp[i] * pow(m,j);
j--;
}
return transfer_num;
}
bool isprime_1(int num)//判断素数的第一种方法
{
if (num < 2)
{
return false;
}
int temp = num - 1;
for (int i = 2; i <= temp; i++)
{
if (num%i == 0)
{
return false;
}
}
return true;
}
bool isprime_2(int num)//判断素数的第二种方法
{
if (num < 2)
{
return false;
}
for (int i = 2; i < sqrt(num)+1; i++)
{
if (num%i == 0)
{
return false;
}
}
return true;
}
int main() {
int n,m;
while (cin >> n>>m)
{
int out=tranfer(n, m);
if(isprime_2(out))
{
cout << out<<"是素数"<<endl;
}
else
{
cout << out << "不是素数" << endl;
}
}
system("pause");
return 0;
}