【描述】
每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。如30=2×3×5。分解质因数只针对合数,对于质数只能表示为1和他本身相乘。如:17=1×17
【输入】
一个正整数n。(n>1)
【输出】
如果n是一个合数,则输出n的质因数表达式。如果n是一个质数,则输出:“n是一个质数无法分解”
【样例输入】
30
【样例输出】
30=2*2*5
#include<iostream>
using namespace std;
void factory(int n)
{
cout<<n<<"=";
for(int i=2;i<=n;i++)
{
while(n)
{
if(n%i==0)
{
if(n==i)
cout<<i;
else
cout<<i<<"*";
n/=i;
}
else
{
break;
}
}
}
}
bool prime(int n)
{
int count=0;
for(int i=1;i<=n;i++)
{
if(n%i==0)
count++;
}
if(count==2)
return true;
else
return false;
}
int main(){
int n;
cin>>n;
if(prime(n))
{
cout<<n<<"是一个质数,无法分解";
}
else
{
factory(n);
}
return 0;
}
—<完>—