如何求一个数的质因子之和?如6=1+2+3 8=1+2+2+2;本身为质数的输出其本身
#include<stdio.h>void main()
{
int x,i,j,b,s,m,a[15];
scanf("%d",&x);
m=x;
for(i=2,j=0;i<x;i++)
{
if(x%i==0)
{
a[j]=i;
s=s+i;
x=x/i;
i=2;
j++;
}
}
if(j==0)
printf("%d\n",m);
else
if(s==m)
{
printf("%d=1*",m);
for(b=0;b<=j;b++)
{
printf("+");
printf("%d\n",a[b]);
}
}
}
我的编程不知那出错了,输入5可以得到5,输入6或8之类的就没输出了