From fe1f32b16c34489de89238832ef73e9505e73da5 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Fri, 11 Oct 2024 23:59:58 +0200 Subject: [PATCH] Ejercicios del 1 al 5 del cap 3 bloque 5 --- src/capitulo03/bloque05/Ejercicio1.java | 16 ++++++++++++++ src/capitulo03/bloque05/Ejercicio2.java | 17 +++++++++++++++ src/capitulo03/bloque05/Ejercicio3.java | 18 +++++++++++++++ src/capitulo03/bloque05/Ejercicio4.java | 24 ++++++++++++++++++++ src/capitulo03/bloque05/Ejercicio5.java | 21 ++++++++++++++++++ src/capitulo03/utils/Utils.java | 29 +++++++++++++++++++++++++ 6 files changed, 125 insertions(+) create mode 100644 src/capitulo03/bloque05/Ejercicio1.java create mode 100644 src/capitulo03/bloque05/Ejercicio2.java create mode 100644 src/capitulo03/bloque05/Ejercicio3.java create mode 100644 src/capitulo03/bloque05/Ejercicio4.java create mode 100644 src/capitulo03/bloque05/Ejercicio5.java diff --git a/src/capitulo03/bloque05/Ejercicio1.java b/src/capitulo03/bloque05/Ejercicio1.java new file mode 100644 index 0000000..b244a6d --- /dev/null +++ b/src/capitulo03/bloque05/Ejercicio1.java @@ -0,0 +1,16 @@ +package capitulo03.bloque05; + +import static capitulo03.utils.Utils.solicitarIntScanner; + +public class Ejercicio1 { + public static void main(String[] args) { + int num = solicitarIntScanner("Introduzca un número para calcular la suma de sus dígitos"); + String numS = num + ""; + num = 0; + for (int i = 0; i < numS.length(); i++) { + num += Integer.parseInt(String.valueOf(numS.charAt(i))); + } + System.out.println("La suma de los dígitos es: " + num); + } +} + diff --git a/src/capitulo03/bloque05/Ejercicio2.java b/src/capitulo03/bloque05/Ejercicio2.java new file mode 100644 index 0000000..6f25142 --- /dev/null +++ b/src/capitulo03/bloque05/Ejercicio2.java @@ -0,0 +1,17 @@ +package capitulo03.bloque05; + +import static capitulo03.utils.Utils.solicitarIntScanner; + +public class Ejercicio2 { + public static void main(String[] args) { + int num = solicitarIntScanner("Introduzca cuantos números de la secuencia de fibonacci quiere obtener: "); + int tempNum1 = 0, tempNum2 = 1, tempVar; + for (int i = 0; i < num; i++) { + tempVar = tempNum1 + tempNum2; + tempNum1 = tempNum2; + tempNum2 = tempVar; + System.out.println(tempVar); + } + } +} + diff --git a/src/capitulo03/bloque05/Ejercicio3.java b/src/capitulo03/bloque05/Ejercicio3.java new file mode 100644 index 0000000..300acef --- /dev/null +++ b/src/capitulo03/bloque05/Ejercicio3.java @@ -0,0 +1,18 @@ +package capitulo03.bloque05; + +import static capitulo03.utils.Utils.comprobarPerfecto; +import static capitulo03.utils.Utils.solicitarIntScanner; + +public class Ejercicio3 { + public static void main(String[] args) { + int numMin = solicitarIntScanner("¿Entre qué rangos quiere buscar los números perfectos?\n Introduzca el mínimo: "); + int numMax = solicitarIntScanner("Introduzca el Máximo: "); + + + for (int i = numMin; i <= numMax; i++) { + if (comprobarPerfecto(i)) { + System.out.println(i); + } + } + } +} \ No newline at end of file diff --git a/src/capitulo03/bloque05/Ejercicio4.java b/src/capitulo03/bloque05/Ejercicio4.java new file mode 100644 index 0000000..255f466 --- /dev/null +++ b/src/capitulo03/bloque05/Ejercicio4.java @@ -0,0 +1,24 @@ +package capitulo03.bloque05; + +import static capitulo03.utils.Utils.*; + +public class Ejercicio4 { + public static void main(String[] args) { + int numAleatorio = (int) generarNumAleatorio(100), num; + System.out.println("Tiene que adivinar el número entre el 1 y el 100"); + do { + num = solicitarIntScanner("Introduzca el número (-1 para rendirse): "); + if (num == -1) { + System.out.println("Que pena, el número era: " + numAleatorio); + break; + } else if (num > numAleatorio) { + System.out.println("El número es menor que " + num); + } else if (num < numAleatorio) { + System.out.println("El número es mayor que " + num); + } else { + System.out.println("¡Acertáste! El número es " + numAleatorio); + break; + } + } while (true); + } +} \ No newline at end of file diff --git a/src/capitulo03/bloque05/Ejercicio5.java b/src/capitulo03/bloque05/Ejercicio5.java new file mode 100644 index 0000000..9ae2727 --- /dev/null +++ b/src/capitulo03/bloque05/Ejercicio5.java @@ -0,0 +1,21 @@ +package capitulo03.bloque05; + +import static capitulo03.utils.Utils.solicitarIntScanner; + +public class Ejercicio5 { + public static void main(String[] args) { + int numFilas = solicitarIntScanner("Ingrese el número de filas del triángulo de Pascal: "); + for (int fila = 0; fila < numFilas; fila++) { + for (int espacio = 0; espacio < numFilas - fila - 1; espacio++) { + System.out.print(" "); + } + + int numero = 1; + for (int columna = 0; columna <= fila; columna++) { + System.out.print(numero + " "); + numero = numero * (fila - columna) / (columna + 1); + } + System.out.println(); + } + } +} \ No newline at end of file diff --git a/src/capitulo03/utils/Utils.java b/src/capitulo03/utils/Utils.java index 178eb56..5058bd1 100644 --- a/src/capitulo03/utils/Utils.java +++ b/src/capitulo03/utils/Utils.java @@ -8,4 +8,33 @@ public class Utils { Scanner sc = new Scanner(System.in); return sc.nextInt(); } + public static boolean comprobarPrimo(int primo) { + for (int i = 2; i <= (primo/2f); i++) { + if (primo % i == 0) { + return false; + } + } + return true; + } + public static boolean comprobarPerfecto(int num) { + if (num <= 1) { + return false; + } + + int sumaDivisores = 1; + for (int i = 2; i <= Math.sqrt(num); i++) { + if (num % i == 0) { + sumaDivisores += i; + if (i != num / i) { + sumaDivisores += num / i; + } + } + } + + return sumaDivisores == num; + } + public static double generarNumAleatorio(int multiplicador) { + return Math.random() * multiplicador; + } + }