From 7dc19183554ec086f18169bf8a4bed49acbbc4d5 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Fri, 25 Oct 2024 13:07:56 +0200 Subject: [PATCH] Ejercicio B comentado --- src/main/java/examenes/examen20241025/Ejercicio_b.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/examenes/examen20241025/Ejercicio_b.java b/src/main/java/examenes/examen20241025/Ejercicio_b.java index c22ca14..ca66a9f 100644 --- a/src/main/java/examenes/examen20241025/Ejercicio_b.java +++ b/src/main/java/examenes/examen20241025/Ejercicio_b.java @@ -5,14 +5,19 @@ import static examenes.examen20241025.utils.Utils.*; public class Ejercicio_b { public static void main(String[] args) { + //Solicito un número int numPositivo = solicitarIntScanner("Introduzca un número para comprobar si se puede expresar con 3^n"); + //Creo variables que voy a necesitar int resultadoAnterior = 0; boolean encontrado = false; String resultadoPosible = ""; + //En un bucle voy comprobando for (int i = 1; true; i++) { + //Si cuadra la suma marcamos que lo hemos encontrado y salimos del bucle if (resultadoAnterior == numPositivo) { + //Generamos el texto para representar la suma for (int j = 0; j < i; j++) { resultadoPosible += "3^" + (j + 1); if (j != i - 1) { @@ -21,13 +26,18 @@ public class Ejercicio_b { } encontrado = true; break; + + //Si no hemos llegado sumamos el siguiente 3^n } else if (resultadoAnterior < numPositivo) { resultadoAnterior += (int) Math.pow(3, i); + + //Si nos hemos pasado nos salimos del bucle } else { break; } } + //Si hemos encontrado el resultado lo decimos y lo mostramos y si no lo hemos encontrado lo decimos if (encontrado) { System.out.println("Se ha encontrado este resultado: "); System.out.println(resultadoPosible);