编程输出1000以内所有的完数,并输出其所有因子。

编程输出1000以内所有的完数,并输出其所有因子。所谓完数,即一个数的所有因子(除其自身)之和恰好等于其自身。如6就是一个完数,6=1+2+3。
**输出格式要求:"\n%5d\n", "%5d"
程序运行示例如下:
   6
    1    2    3
  28
    1    2    4    7   14
  496
    1    2    4    8   16   31   62  124  248
 

#include 
int main()
{
    int n = 0, i = 0, sum;
    for (n = 2; n < 1000; n++)
    {
        sum = 0;
        for (i = 1; i < n; i++)
        {
            if (n%i == 0)
                sum += i;
        }
        if(sum == n)
        {
            printf("\n%5d\n",n);
            for (i = 1; i < n; i++)
            {
                if(n%i == 0)
                    printf("%5d", i);
            }
        }
    }
}

 

你可能感兴趣的:(编程输出1000以内所有的完数,并输出其所有因子。)