功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
最后一个数后面也要有空格
刚开始没有思路,后来查了下质因子的求法,可通过以下方法求出:
#include<iostream>#include<string>
using namespace std;
string getResult(long input) {
int i = 2;
string result="";
for (; input >= 2;) {
if(input%i==0){
result += to_string(i) + " ";
input /=i ;
}
else {
i++;
}
}
return result;
}
int main() {
long input;
cin >> input;
cout << getResult(input);
return 0;
}
该方法从质数2开始,如果能除尽,就将被分解数除以已知的质因子,逐步分解,最终求得所有的质因子。