现在的位置: 首页 > 综合 > 正文

百练—打印完数—2686

2013年03月18日 ⁄ 综合 ⁄ 共 472字 ⁄ 字号 评论关闭

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;
}

 

抱歉!评论已关闭.