sc

发布时间 2023-05-20 21:15:47作者: wessf

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

#include <stdio.h>
#define N 1000
int main()
{
    int x,b,c,i,n;
    int a[256];
    for(i=2;i<=N;i++)
    {
        x=a[0]=1;
        c=0;
        for(b=2;b<=(i/2);b++)
        {
            if(i%b==0)
            {
                x+=b;
                a[++c]=b;
            }
            if(i==x)
            {
                printf("%d=%d",i,a[0]);
                for(n=1;n<=c;n++)
                {
                    printf("+%d",a[n]);
                }
                printf("\n");
            }
        }
    }
    return 0;
}