求任一整数N的标准分解式,即素数因子之积。例如16=2*2*2*2, 15=3*5
测试 程序如下所示。
bool isSuShu(int x)
{
for(int i = 2 ; i <= x/2 ; i++)
{
if(x % i == 0)
return false;
}
return true;
}
int Output(int n)
{
int i = 0;
for(i = 2 ; i < n ; i++)
{
if(isSuShu(i) && n%i == 0)
{
cout<<i<<" ";
return i;
}
}
}
int main()
{
int n = 0;
int multi = 1;
int temp = 0 ;
bool Ju = true;
cout<<"Please input this n:"<<endl;
cin>>n;
if(isSuShu(n))
{
cout<<"Invalid data.Please input again."<<endl;
return 0;
}
while(Ju)
{
temp = Output(n);
n /= temp;
if(isSuShu(n))
{
cout<<n<<endl;
Ju = false;
}
}
}