c语言:找出1-100以内(包括100)所有完数,并用数组存储各个完数的因子。

c语言:找出1-100以内(包括100)所有完数,并用数组存储各个完数的因子。

img

亲测可用,求采纳,谢谢


#include <stdio.h>
int main()
{
    int i,j,a=0,sum,out[100];
    for(i=2;i<=100;i++)
    {
        a=0;
        sum=0;
        for(j=1;j<i;j++)
        {
            if(i%j==0)
            {
                sum+=j;
                out[a++]=j;
            }
        }
        if(sum==i)
        {
            printf("%d 是一个完数,其因子是",i);
            for(j=0;j<a;j++)
                printf("%d ",out[j]);
            printf("\n");
        }
    }
    return 0;
}