/*-------------------------------------------------
分解质因数的算法
2005-03-13
RainFly
-------------------------------------------------*/
#include <iostream.h>
#include <math.h>
int main()
{
int i=2,j,k,N,flag=0,flag1=0;
cout<<"请输入一个整数:";
cin>>N;
while(1) //永远循环
{
for (;i<=sqrt(N);i++)
if(N%i==0) //i肯定是质数,N肯定不是质数
{
flag=1;
flag1=1;
cout<<i<<"×";
N=N/i;
break ;
}
if(flag) {flag=0;continue;}
if(flag1)
cout<<N<<endl;
else
cout<<N<<"是个质数,不能分解"<<endl;
break;
}
return 0;
}