题解 | #质数因子#
质数因子
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和自身),则质因子的平方一定小于等于它本身。通过这个信息,可以减少很多次运算。