题解 | 质数因子
#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")