百练---打印完数---2686

2686:打印完数

  • 查看
  • 提交
  • 统计
  • 提示
  • 提问
总时间限制:
1000ms
内存限制:
65536kB
描述
一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:

6 its factors are 1,2,3
输入
无输入
输出
输出1000以内所有的完数及其因子,每行一个完数。

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j,k,c,sum;
    int a[1005];
    for(i=6; i<=1000; i++)
    {
        c=0;
         sum=0;
        for(j=1; j<i; j++)
        {
           
            if(i%j == 0)
            {
                a[c++]= j;
                sum += j;
            }
        }
        if(sum == i)
        {
            printf("%d its factors are ",i);
            for(k=0; k<c-1; k++)
            {
                printf("%d,",a[k]);
            }
            printf("%d\n",a[c-1]);
          
        }
    }
    system("pause");
    return 0;
}


 

你可能感兴趣的:(百练---打印完数---2686)