无法保证!我写了个判断1000以内完数的例子,楼主参考一下吧
main()
{
int i,j,sum;
for(i=1; i<1000; i++)
{
sum=0;
for(j=1; j<=i/2; j++)
if(i%j==0) sum+=j;
if(sum==i)
printf("%d是完数\n",i);
}
}
上面这个小程序只做出判断,并没有输出完数的分解的等式。如果非要存储因子再输出的最好利用利用链表存储,原因在于链接中的节点可以动态生成,而这一点正是数组所不具备的。