Ejercicio B comentado
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user