题解 | #质数因子#
质数因子
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; //最后可能剩一个质数 }