Ayuda algoritmo en JAVA

Iniciado por Kacoae, 16 Mayo 2013, 07:50 AM

0 Miembros y 1 Visitante están viendo este tema.

Kacoae

Diseñe un algoritmo que imprima todos los números de 3 cifras (100 a 999) tales que la suma de los cubos de sus cifras, sea igual al numero.

EJEMPLO:
Ingresamos 225

Entonces separamos los tres números al cubo:
- 2^3 = 8
- 2^3 = 8
- 5^3 = 125

Sumamos los resultados:
125+8+8 = 141
No dio 225 (el numero original) o sea que ese no lo imprime.

-----------------------------

Agradezco su ayuda.
Gracias.

Nasty35

Código (java) [Seleccionar]
package test;

public class Test {

public static void main(String[] args) {
char[] parse;
int[] nums = new int[3];
int[] finals = new int[3];
for(int a = 100; a <= 999; a++) {
parse = Integer.toString(a).toCharArray();
for(int b = 0; b < 3; b++)
nums[b] = Integer.parseInt(Character.toString(parse[b]));
for(int b = 0; b < 3; b++)
finals[b] = (int) Math.pow(nums[b], 3);
if(finals[0] + finals[1] + finals[2] == a)
System.out.println(a);
}
}

}


Output:
153
370
371
407


Espero que te haya servido :D

Kacoae

Si mi amigo ya lo había hecho. Muchas gracias por su ayuda. No podía hacerlo antes por un duda que tenia.

Paso mi código por si algo o para que tengan otro método.


public static void main(String[] args) {
        int j,k,l,sum,h=100,i,m,n;
       
       
        do
        {
            j=h%10;
            k=(h/10)%10;
            l=h/100;
            i=j*j*j;
            m=k*k*k;
            n=l*l*l;
            sum=i+m+n;
                 
            if(sum==h)
                 {
                     System.out.println("El numero " + h + " cumple la condicion.");
                 }
         h=h+1;       
        }         
        while(h<=999);
    }
}