Project Euler -> Problema 9

Una terna pitagórica es un grupo de 3 números naturales (a< b< c) para los cuales a² + b² = c²
Por ejemplo: 3² + 4² = 9 + 16 = 25 = 5²
Existe solamente una terna para que a + b + c = 1000. Encuentra el producto de a*b*c

Yaaaaaa….
Primero… qué re diantres es eso de la terna. Un paseito por google me llevó a wikipedia😀 y sas! la tienes lista 

a = m² − n²,
b = 2mn,
c = m² + n²

Y ya esta🙂 Siguiendo con lo que dice Wikipedia el código es éste

public class Problema9 {

    public Problema9(){
        Boolean terminamos = false;
        Integer m = 2;
        while(!terminamos){
            for (Integer n = 1; n <= m; n++) {
                Long suma = m.longValue()*m.longValue()+m.longValue()*n.longValue();
                System.out.println((m*m)+" + "+(m*n)+ " = "+suma);
                if (suma == 500) {
                    Integer a = m*m-n*n, b = 2*m*n, c = m*m+n*n;
                    System.out.print(a+" * "+b+" * "+c+" = ");
                    System.out.println(a*b*c);
                    terminamos = true;
                    break;
                }
            }
            m+=1;
        }
    }
}

Lo único en que tenemos que fijarnos, es que la suma sea = a 500. Mientras sea menor, seguimos ejecutando y buscando números, pero si nos pasamos no vamos a llegar a 1000. Siendo igual a 500 tamos al otro lado, y solo queda seguir la fórmula de wikipedia :B

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