题解 | #质数因子#用vector以及奇数性质实现
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <iostream>
#include <vector>
using namespace std;
void GetPrimeFactor(long num)
{
vector<int> vec;
//先除以2,将所有的2除尽
while (num % 2 == 0)
{
vec.push_back(2);
num = num / 2;
}
//由于质数肯定是奇数,直接从3开始遍历进行除法运算。
for (int i = 3;i <= num;i += 2)
{
while (num % i == 0)
{
vec.push_back(i);
num = num / i;
}
}
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << ' ';
}
}
int main() {
long num;
cin >> num;
GetPrimeFactor(num);
return 0;
}
