分解质因数(合数)

版权声明:@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;
}

猜你喜欢

转载自blog.csdn.net/lytwy123/article/details/83019551
今日推荐