Examen 01

El examen es de carácter práctico y puede realizarse en una computadora donde se tenga instalado el Java Development Kit (JDK). El estudiante puede consultar de cualquier recurso o referencia que guste, sean hechos durante el curso, estén publicados en libros u otro material impreso. En caso de reutilizar código que haya trabajado previamente, en especial si colaboró con otros compañeros, debe incluir el código fuente original intacto en un archivo .zip junto con la solución al examen. Se dispone de dos horas para entregar la prueba y debe realizarse en forma estrictamente individual.

En 1742 Christian Goldbach de Prusia le escribió una carta al matemático suizo Leonhard Euler con una conjetura:

Todo número entero mayor que 5:

Euler no pudo demostrar la conjetura, ni tampoco cientos de matemáticos convirtiéndolo en el problema abierto más intrigante en la historia de la teoría de números. Algunas novelas y películas hacen alusión a la conjetura, y entre los años 2000 y 2002 se ofreció un premio de un millón de dólares a quien lograse demostrarla, premio que no fue reclamado. En el 2013, tras 271 años de su aparición, el matemático peruano Harald Helfgott propuso una demostración para la conjetura débil que está actualmente sometida a revisión de pares, y en caso de validarse convertiría la conjetura débil en teorema.

Escriba un programa en Java que le facilite al usuario obtener las diversas sumas de primos con que se puede representar los números enteros mayores a 5 que ingrese. Su programa finaliza cuando se ingresa 0. Un ejemplo de ejecución está más adelante.

Evaluación

  1. [10%] Clase completa y válida. Médodo main(). Los identificadores son significativos. La indentación ayuda a entender la estructura del código. Los paréntesis (redondos, cuadrados y llaves) están balanceados.
  2. [10%] Lee números repetitivamente hasta que se ingrese 0. Ignora números menores o iguales a 5.
  3. [30%] Aplica correctamente la conjetura fuerte a los números pares que ingrese el usuario. Calcula e imprime todas las sumas de dos primos. No imprime sumas duplicadas.
  4. [30%] Aplica correctamente la conjetura débil a los números impares que ingrese el usuario. Calcula e imprime todas las sumas de tres primos. No imprime sumas duplicadas.
  5. [20%] Determina correctamente si un número es primo o no.
  6. [5% Opcional] El programa permite al usuario reintentar el ingreso de un número incorrecto, en lugar de caerse.
  7. [10% Opcional] Utilice métodos para modularizar el programa. Al menos implemente un método que reciba un entero y retorne verdadero si el número es primo, falso en caso contrario.

Para presentar su solución, suba su archivo .java a Mediación Virtual en la asignación con nombre Examen01.

Conjetura de Goldbach. Ingrese numeros mayores que 5

Numero: 6
6 == 3 + 3

Numero: 7
7 == 2 + 2 + 3

Numero: 8
8 == 3 + 5

Numero: 9
9 == 2 + 2 + 5
9 == 3 + 3 + 3

Numero: 10
10 == 3 + 7
10 == 5 + 5

Numero: 11
11 == 2 + 2 + 7
11 == 3 + 3 + 5

Numero: 12
12 == 5 + 7

Numero: 13
13 == 3 + 3 + 7
13 == 3 + 5 + 5

Numero: 14
14 == 3 + 11
14 == 7 + 7

Numero: 21
21 == 2 + 2 + 17
21 == 3 + 5 + 13
21 == 3 + 7 + 11
21 == 5 + 5 + 11
21 == 7 + 7 + 7

Numero: 0
Ejemplo de ejecución del programa