这段C++代码实现了一个整数分解质因数的功能。程序接收一个整数N作为输入,输出其质因数分解结果。例如输入24,输出"24=222*3"。算法采用循环除法,从2开始逐个尝试除数,若能整除则记录该因数并继续分解,直到N变为1。对于特殊值1会直接输出"1=1"。程序使用isFirst标志来正确处理因数间的乘号连接。
输入
24
输出
24=2*2*2*3
cpp
#include <iostream>
using namespace std;
int main(){
int N;
cin>>N;
cout<<N<<"=";
if(N==1){
cout<<"1"<<endl;
return 0;
}
bool isFirst=true;
for(int i=2;i*i<=N;){
while(N%i==0){
if(isFirst){
cout<<i;
isFirst=false;
}else{
cout<<"*"<<i;
}
N/=i;
}
i++;
}
if(N>1){
if(isFirst){
cout<<N;
}else{
cout<<"*"<<N;
}
}
return 0;
}