Un número perfecto es aquel número que sumando todos sus divisores menos el mismo nos da él mismo.
Ejemplo 6 Divisores del 6:
A continuación os pongo mi forma que esta mal pero os puede ayudar por si pensáis lo mismo que pensé yo :-P
#include <stdio.h>
void main (void)
{
int i=1,num,resultado=0;
printf("Dame un numero\n");
scanf("%d", &num);
while(i<num)
{
if(num%i==0)
resultado+=i;
i++;
}
if (num==resultado)
printf("El numero %d es perfecto.", num);
else
printf("El numero %d no es perfecto.", num);
}
La forma del profesor:
#include <stdio.h>
void main (void)
{
int i,num,mitad,sumatorio=1; ← como 1 siempre es divisor ya le damos el valor de 1 a la suma.
printf("Dame un numero\n");
scanf("%d", &num);
i=2;
mitad=num/2; ←
Buscamos solo hasta la mitad ya que matemáticamente de la mitad al
final solo es divisible entre 1 o el mismo y en este caso los
desechamos.
while(i<=mitad){
if(num%i==0)
sumatorio+=i;
i++;
}
if ((sumatorio==num)&&(num!=1))
printf("El numero %d es perfecto.", num);
else
printf("El numero %d no es perfecto.", num);
}
no me sirviode nada
ResponderEliminaraprende programacion y despues veni a publicar kpo
de buena onda