输入一个正整数,如果不是素数,求该正整数的质数因子。使用递归算法实现。
#include
#include
#include
using namespace std;
bool isPrime(int n)
{
if (n < 2)
{
return false;
}
if (n == 2)
{
return true;
}
for (int i = 2; i < n; i++)
{
if (n % i == 0){
return false;
}
}
return true;
}
void primeFactor(int n, vector &ob)
{
if (isPrime(n))
{
ob.push_back(n);
}
else
{
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
ob.push_back(i);
primeFactor(n / i, ob);
break;
}
}
}
}
vo