功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如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开始,如果能除尽,就将被分解数除以已知的质因子,逐步分解,最终求得所有的质因子。
本文介绍了一种通过编程实现的质因数分解算法,输入任意正整数后,该算法可以输出该数的所有质因数,并按从小到大的顺序排列。算法采用C++语言编写,从最小的质数2开始,逐步分解目标数直至完成。
&spm=1001.2101.3001.5002&articleId=80139092&d=1&t=3&u=48d1ba80c33647b7847c39e4c2a5fba8)
2152

被折叠的 条评论
为什么被折叠?



