Número perfecto Daniél León Guevara (2004-07-13)

Un número perfecto es un número cuya suma de todos sus divisores, excepto él , dan como resultado el mismo número. El primer numero perfecto es 6 /1+2+3=6/.

//Un numero perfecto es un numero cuya suma de todos
//sus divisores, excepto él, dan como resultado el mismo numero.
//el primer numero perfecto es 6 (1+2+3=6).
//Este programa calcula los primeros cuatro numeros perfectos.
//En mi PC no pude calcular el numero cinco.
//Julio 10 de 2004.

#include<iostream>

using namespace std;

int main()
{

long long i, j, contador; //estas variables van a manejar grandes numeros.

int n=0;
long perfecto[4];
i=1;
int maximos=0;

while(true)     //se inicia un bucle infinito
  {
  
   contador=0;
   i++;
   for(j=1; j<i-1; j++)         //con este bucle analizamos sus divisores
    {
     if(i%j==0)contador=contador+j;
    }
   if(contador==i)  //si la suma de sus divisores es igual al numero
     {
      perfecto[n]=i;  //lo añadimos a la lista de perfectos
      n++;
      maximos++;
     }
   if(maximos==4) break; //de no ser por esta sentencia no terminaria nunca
  }

cout << "  Calcula los cuatro primeros numero perfectos" << endl;


//mostramos los resultados en pantalla.
for(n=0; n<4; n++) cout << n+1<< ")   " << perfecto[n] << endl;

cout << endl; 

system("PAUSE");

return 0;
}

//Quedo a la espera de que alguien calcule el quinto numero perfecto
//   EEEEEE    OOOO   FFFFFFF
//   EEE      OO  OO  FFF
//   EEEEEE   OO  OO  FFFFF
//   EEE      OO  OO  FF
//   EEEEEE    OOOO   FF

Regresar a ejemplos