//功能: 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
//输入:输入一个long型整数
//输出:按照从小到大的顺序输出它的所有质数的因子,以空格隔开
#include <iostream>
using namespace std;
int main()
{
long input;
while(cin>>input){
while(input>1){
for(int i=2;i<=input;++i){
if(input%i==0){
input = input/i;
cout << i << " ";
break;
}
}
}
cout << endl;
}
return 0;
}
这道题是华为题库中的题,该解法妙在可以不用额外考虑一个因子是不是质数。