[Source] Algoritmo Conjetura de Goldbach

Iniciado por juancaa, 10 Noviembre 2012, 22:05 PM

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

juancaa

Pues bien, aqui les traigo un simple codigo que permite hallar todas las combinaciones posibles de 2 numeros primos que suman un numero par mayor que 2 (Conjetura de Goldbach).

Código (java) [Seleccionar]


public class Goldbach {
       
    public static Boolean isPrime (int n) { //comprueba si 'n' es primo
        int i=2;       
        while (n%i!=0) i++;                   
        if (i==n) return true;
        else return false;
    }
   
    public static void main(String[] args) {               
        for (int i=2; i<50; i++) { // Buscamos combinaciones entre 2*2=4 y 50*2=100
            for (int j=0; j+1<i; j++) { // Nota: j+1 para evitar el caso j=1 (1 no es primo)             
                int p=i+j, q=i-j; // p & q primos a la misma distancia de 2*i por lo que su suma es 2*i
                if ((isPrime(p)) && (isPrime(q)))           
                    System.out.println("For number: "+2*i+" = "+p+" + "+q);               
            }           
            System.out.println("Number: "+2*i+" | Combos: "+nCombos);
        }       
    }
}


Ejemplo de salida :
For number: 4 = 2 + 2
For number: 6 = 3 + 3
For number: 8 = 5 + 3
For number: 10 = 5 + 5
For number: 10 = 7 + 3
For number: 12 = 7 + 5
For number: 14 = 7 + 7
For number: 14 = 11 + 3
For number: 16 = 11 + 5
For number: 16 = 13 + 3
For number: 18 = 11 + 7
For number: 18 = 13 + 5
For number: 20 = 13 + 7
For number: 20 = 17 + 3


A ver si con esto alguien se anima a demostrar la conjetura  :xD
Un saludo!
Que tengas un buen dia!