题目:
把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。
输入一个正整数n,将n分解成质因数乘积的形式。
【输入】
一个正整数n。
【输出】
分解成质因数乘积的形式。质因数必须由小到大,见样例。
【输入样例】
36
【输出样例】
36=2*2*3*3
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int i=2;//此处i必须是全局变量
cout<<n<<"=";
while(n>1)
{
//int i=2;一开始的时候我把i定义在这里,但是忽略了如果是这样的话,每一轮循环i的值就会重新被赋值成2
//这样的话i++也就失去了应有的意义。
if(n%i!=0)
{
i++;
}
else
{
cout<<i;
n= n/i;
if(n!=1)
{
cout<<"*";
}
}
}
return 0;
}
主要注意的点就是定义i那里。
主要思路就是从2开始,如果n可以整除2,说明2是它的质因数。等到它无法再整除2了,就i++。为了防止最后一个因数后面也跟一个“*”,所以要判断一下n是不是等于1了