满意答案
dec6641044
2018.12.15
采纳率:50% 等级:9
已帮助:864人
参考代码如下:
#include
#include
int isPrime(int x)
{
int i;
if(x<=1)
return 0;
for(i=2;i
if(x%i==0)return 0;
return 1;
}
int decompose(int a[],int n)
{
int i,j,fac,c=0;
while(n>1){
for(i=2;i<=n;i++)
if(n%i==0){
a[c++]=fac=i;
break;
}
n/=fac;
}
for(j=0,i=1;i
if(a[j]!=a[i])
a[++j]=a[i];
return j+1;
}
int main( )
{
int i,n,c;
int a[50];
scanf("%d",&n);
if(isPrime(n))
printf("%d是素数",n);
else{
printf("质因数有");
c=decompose(a,n);
for(i=0;i
printf("%d",a[i]);
if(i
printf(",");
}
}
return 0;
}追答:
00分享举报