Mediante una función, determinar si un número N es perfecto o no

Mediante una función, determinar si un número N es perfecto o no. se dice que un número es perfecto
cuando la suma de sus divisores execpto el mismo número es iigual al número. Por ejemplo 6 es  perfecto porque sus divisores 1,2,3 sumados dan el mismo número.

#include <stdio.h>
#include <conio.h>

char perfecto(int n){
    int s=0;
    for(int i=1;i<n;i++){
        if(n%i==0){
            s+=i;
        }
    }
    if(s==n){
        return 1;
    }else{
        return 0;
    }
}
void main(){
    int n;
    printf("NUMERO PERFECTO\n");
    printf("Introduzca un numero: ");
    scanf("%d",&n);
    //printf("%d",perfecto(n));
    if(perfecto(n)==1){
        printf("El numero ES PERFECTO.");
    }else{
        printf("El numero NO ES PERFECTO.");
    }
    getch();
}

Comentarios