Title | Punto 8 ejercicio semana 3 modulo programación de computadores |
---|---|
Course | Programación de Computadores |
Institution | Politécnico Grancolombiano |
Pages | 2 |
File Size | 91.9 KB |
File Type | |
Total Downloads | 17 |
Total Views | 145 |
Punto 8 ejercicio semana 3 modulo programación de computadores, respuestas del parcial la gran mayoría están buenas favor validar la información de todos....
8, conjetura de Goldbach La conjetura de Goldbach afirma que todo numero natural par mayor que 2 puede expresarse como la suma de dos números primos. Dado un natural n, mayor que 2, calcular dos números primos tales que la suma sea igual a n.
import java.util.Scanner; public class ejercicio8 { public static void main(String[] args) { System.out.println("conjetura de Goldbach. ingrese numeros mayores de 2"); Scanner entrada = new Scanner (System.in); while (true) { long numero = entrada.nextInt(); if ( numero == Ø ) break; if ( numero < 4 || numero == 2 ) continue; // Conjetura fuerte para numeros pares, la debil para impares if ( numero % 2 == Ø ) { // Conjetura fuerte de Goldbach. Todo numero par >= 4 es la suma de dos primos // Ej: 4 == 2 + 2 :: 6 == 3 + 3 :: 10 == 3 + 7 == 5 + 5
for ( long a = 2; a < numero; ++a) { if ( ! esPrimo(a)) continue; for ( long b = a; b < numero; ++b) { if ( a + b == numero && esPrimo(b) ) System.out.printf("%,d == %,d + %,d\n", numero, a, b); } } } else { // Conjetura debil de Goldbach. Todo numero impar >= 7 es la suma de tres primos // Ej: 7 == 2 + 2 + 3
for ( long a = 2; a < numero; ++a) { if ( ! esPrimo(a)) continue; for ( long b = a; b < numero; ++b) { if ( ! esPrimo(b) ) continue; for (long c = b; c < numero; ++c ) if ( a + b + c == numero && esPrimo(c) ) System.out.printf("%,d == %,d + %,d\n", numero, a, b, c); } } } } } public static boolean esPrimo (long numero) { for (long i = 2; i < numero; ++i ) if (numero % i == Ø ) return false; return true; } }...