1.题目描述
1.将一个整数分解为若干质因数之乘积
2.你需要从小到大排列质因子
2.思路
从最小的质数2开始递增到根号n为止:
(1)如果这个数可以整除n,则加入结果,并且n更新为n/i。
(2)否则递增i。
3.代码
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n = 8;
vector<int> res;
for (int i = 2; i * i <= n; ++i) {
while (n % i == 0) {
res.push_back(i);
n /= i;
}
}
if (n != 1) {
res.push_back(n);
}
for (auto& i : res) {
cout << i << " ";
}
cout << endl;
return 0;
}