题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 2; i <= sqrt(n); i++) { //质因子中最多只能有一个大于sqrt(n),且只可能是剩下的n本身
while (n % i == 0) {
cout << i << " ";
n /= i; //所有的质数前面全部除掉,后续就不会有合因子
//任何合数都可以拆分成若干个小于它的质数的积
}
}
if (n > 1) cout << n; //最后可能剩一个质数
}
