分解质因数:短除法
把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。
求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。
假设输入整数为360,采用短除法,分解质因数的结果为:
2 2 2 3 3 5
即
360
=
2
×
2
×
2
×
3
×
3
×
5
360 = 2\times2\times2\times3\times3\times5
360=2×2×2×3×3×5
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <cmath>
using namespace std;
//其实是质因数分解
//短除法
int main() {
int n;
while(cin>>n) {
for(int i = 2;i<=sqrt(n);++i) {
while(n%i==0) {
n /= i;
cout<<i<<" ";
}
}
if(n!=1)cout<<n<<endl;
}
return 0;
}