版权声明:@ly https://blog.csdn.net/lytwy123/article/details/83019551
把一个合数分解成若干个质因数乘积的形式
比如输入:36
输出:2*2*3*3
思路:我们可以知道最小的质因数为2,我们应该从最小的质因数开始尝试,比如36先与2相除若能整除那么2必然是满足的,然后从36/2=18在拿2试,如果还能整除就继续拿9/2发现不能整除,我们在拿2+1=3来尝试,我们以此类推,最后当原来的数为1就可以结束了。
算法思想:就是通过枚举一个一个尝试从最小的质因数,就是枚举算法
代码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int i = 2;
cout<<n<<"=";
while(n != 1){
while(n%i == 0){
cout<<i;
n/=i;
if(n!=1)
cout<<"*";
}
i++;
}
return 0;
}