From e4405dea0e93ef691bf937ad43e16f3538d1ba75 Mon Sep 17 00:00:00 2001 From: Liliana Milano <107228065+LilyMilano@users.noreply.github.com> Date: Fri, 28 Jul 2023 00:06:00 -0400 Subject: [PATCH] Reto #21 - Java --- .../java/LilyMilano.java" | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 "Retos/Reto #21 - N\303\232MEROS PRIMOS GEMELOS [Media]/java/LilyMilano.java" diff --git "a/Retos/Reto #21 - N\303\232MEROS PRIMOS GEMELOS [Media]/java/LilyMilano.java" "b/Retos/Reto #21 - N\303\232MEROS PRIMOS GEMELOS [Media]/java/LilyMilano.java" new file mode 100644 index 0000000000..a012896907 --- /dev/null +++ "b/Retos/Reto #21 - N\303\232MEROS PRIMOS GEMELOS [Media]/java/LilyMilano.java" @@ -0,0 +1,50 @@ +/* + * Crea un programa que encuentre y muestre todos los pares de números primos + * gemelos en un rango concreto. + * El programa recibirá el rango máximo como número entero positivo. + * + * - Un par de números primos se considera gemelo si la diferencia entre + * ellos es exactamente 2. Por ejemplo (3, 5), (11, 13) + * + * - Ejemplo: Rango 14 + * (3, 5), (5, 7), (11, 13) + */ + +import java.util.ArrayList; +import java.util.List; + +public class LilyMilano { + + public static void main(String[] args) { + + int max = 33; + + List> twins = getPrimeTwins(max); + + System.out.println(twins); // [[3, 5], [5, 7], [11, 13], [17, 19], [29, 31]] + + } + + public static List> getPrimeTwins(int max) { + + List> twins = new ArrayList<>(); + + for (int i = 2; i <= max; i++) { + if (isPrime(i) && isPrime(i + 2)) { + twins.add(List.of(i, i + 2)); + } + } + + return twins; + + } + + public static boolean isPrime(int num) { + if (num <= 1) return false; + for (int i = 2; i <= Math.sqrt(num); i++) { + if (num % i == 0) return false; + } + return true; + } + +}