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
Código
#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!