题目
将一个正整数分解质因数。例如:输入90,输出90=233*5,输入5,输出5=5
问题分析:
分解一个数的因数(短除法):用整数n在2~n之间找到能被整除的最小因数,其商作为新的值赋给n,重复上一步操作,不断输出因数,直至最后能被整除的最小数等于n本身。
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int i;
int k=0;
for(i=2;i<=n;i++)
{
if(k==0&&n%i==0)//用k的值限定第一次输出且仅输出一次"n=i1"
{
cout<<n<<"="<<i;
n/=i;
k=1;//防止循环进行再输出"n= "
}
while(n%i==0){
cout<<"*"<<i;//循环输出式子...*i1*i2*i3...
n/=i;
}
}
return 0;
}