Project Euler -> Problema 4

Dice:

Un número palíndromo se lee igual para ambos lados. El número más grande formado por la multiplicación de 2 números de 2 dígitos es 9009 = 91 x 99.
Encuentra el palíndromo más grande hecho por la multiplicación de 2 números de 3 dígitos.

Genial no? Se me ocurrieron varias formas de hacerlo, pero la única que me funcionó fue la peor😯 y mi máquina de demoró 2 seg. en llegar a resultado.

Como se supone es un número, empecé con esto como base. Funcionaba a medias, porque solo me evaluaba números de 3 dígitos… el mayor según él era 121…😯 ni idea.

Al final lo hice considerándolo como un String… sep deditos abajo para mí x_X 

Y el código es el siguiente:

public class Problema4 {
    public Problema4(){
        Long palindromo=0l;
        for (Long i = 100l; i < 1000; i++) {
            for (Long j = 100l; j < 1000; j++) {
                Long multi = i*j; String multiLetra = multi.toString();
                StringBuilder espali = new StringBuilder(multiLetra);
                espali = espali.reverse();
                if (multiLetra.equalsIgnoreCase(espali.toString())) {
                    if (palindromo<multi) {
                        palindromo=multi;
                    }
                }
            }
        }
        System.out.println(palindromo);
    }
}

x_X😦 No merece mayor explicación, pero la cosa es que llegué al resultado y ahora voy a ver como re diantres lo hicieron los demás xD😉

 

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en Java, Problemas Project Euler. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s