题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <iostream> using namespace std; int main() { int n; cin >> n; if (n == 1) { cout << n << endl; return 0; } int factor = 2; while (factor*factor <= n) { while (n % factor == 0) { cout << factor << " "; n /= factor; } ++factor; } if (n != 1) cout << n << endl; return 0; } // 64 位输出请用 printf("%lld") 这道题的关键是,知道一个数如果有质因子(除了1和自身),则质因子的平方一定小于等于它本身。通过这个信息,可以减少很多次运算。