Pages

miércoles, 30 de enero de 2013

Calcular los cinco primeros números perfectos Codigo Fuente en Java

Problema
Diseñar un algoritmo que permita calcular los 5 primeros números perfectos (un número es perfecto, cuando la suma de sus divisores, sin incluirlo al número es exactamente el mismo número). El 6 es un número perfecto por sus divisores son 1,2 y 3.

Codigo Fuente en Java
public class Main {
     public static void main(String[] args) {
         int p[]=new int[6];
         int b=0, a,k,i,x;
         String cad="";
          for(k=2;k<702;k++){
              a=0;
              for(i=1;i<(k+2);i++){
                  if(k%i==0){
                      a=a+i;
                       if((a-k)==k){
                         p[b]=k;
                         b++;
                        }
                  }
              }             
          }
         for(x=0;x<b;x++){
             cad=cad+" "+p[x]+" Es un numero perfecto\n";
         }
         System.out.println(cad);
     }
}

3 comentarios: