帮忙改进下一道习题
题目如下:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:
6 its factors are 1,2,3
我编了一个
程序代码:#include "stdio.h"
void main()
{
int a,i,j;
for(i=1;i<=1000;i++)
{
for(j=1,a=0;j<i;j++)
{
if(i%j==0)a=a+j;
}
if(a==i)
{
printf("%d its factors are ",i);
for(j=1;j<i;j++)
{
if(i%j==0)printf("%d,",j);
}
printf("\b\n");
}
}
}答案是出来了,但是我感觉运算重复了望大家指点下,改进下
谢谢









