Ejercicio B comentado

This commit is contained in:
2024-10-25 13:07:56 +02:00
parent 1ca65a3c3f
commit 7dc1918355

View File

@@ -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);