大概两个点吧
一个是因数的性质,搜到sqrt(n)即可
一个是如果最后剩下一个1,就不用输出了(特判一下)
#include <iostream>
using namespace std;
int main() {
int n;cin >> n;
for(int i = 2;i*i <= n;i ++){
while( n % i == 0 ){
cout << i << " ";
n /= i;
}
}if( n != 1 ) cout << n << endl;
return 0;
}
#牛客春招刷题训练营# + 链接

京公网安备 11010502036488号