/* Leer un entero positivo y averiguar si es perfecto. Un nº es perfecto cuando es igual a la suma de sus divisores excepto el mismo */

#include <stdio.h>

void main()
{
  int i,numero,suma=0;
  do{
     printf("Dame un numero:");
     scanf("%d",&numero);
  } while (numero<=0);

  for (i=1;i<=(numero/2);i++)
      if ((numero%i)==0)
         suma+=i;

  if (numero==suma)
     printf("El numero es perfecto.");
  else
     printf("El numero NO es perfecto.");
}

d VOLVER

d VOLVER