题解 | 质数因子
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
int a = 2;
vector<int> ver;
while (a <= n) {
//质子不可能大于n的平方根,直接判断为质数
if (a * a > n) {
ver.push_back(n);
break;
}
if (0 == n%a) {
ver.push_back(a);
n = n / a;
} else {
a ++;
}
}
for (auto i: ver) {
cout << i << ' ';
}
}
// 64 位输出请用 printf("%lld")

查看20道真题和解析
