Buenas tardes señores,
Quisiera saber si me pueden dar una mano con esto:
Hace un buen tiempo estoy tratando de pasar un algoritmo al programa C++
Lo que plantea es lo siguiente:Los números perfectos son números naturales que son iguales a la suma de
todos sus divisores propios excepto él mismo.Así, por ejemplo, el 6 es un
número perfecto ya que es igual a la suma de sus tres divisores propios: 1,
2 y 3.
Se pide escribir un programa que calcule los cuatro primeros números
perfectos.
Aquí pego del codigo que estuve haciendo, no se en donde hago mal
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int cont, i, num;
float suma;
i=0;
cont=0;
num=0;
while(cont<=4){
suma=0;
num=num+1;
for(i=1;i<num;i++)
{
if(num%i == 0)
{
suma=suma+1;
}
}
if(num == suma){
cont=cont+1;
cout<<"El "<<cont<<" numero perfecto es: "<<num<<endl;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
Muchas gracias por su ayuda!