如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。 注意:1没有真因

#include<stdio.h>
int IsPerfect(int x);
int main ()
{
    int m;
    printf("Input m:\n");
    scanf("%d", &m);
    if (m > 1)
    {
        if (IsPerfect(m))
            printf("%d is a perfect number\n", m);
        else
            printf("%d is not a perfect number\n", m);
    }
    else
        printf("%d is not a perfect number\n", m);
}
int IsPerfect(int x)
{
    int i, sum = 1;
    for (i = 2; i < x; i++)
    {
        if (x % i == 0)
            sum =sum+ i;
    }
    if (sum == x)
        return 1;
    else
 
        return 0;
}