Ejercicios del 1 al 5 del cap 3 bloque 5

This commit is contained in:
2024-10-11 23:59:58 +02:00
parent a8c7f2307f
commit fe1f32b16c
6 changed files with 125 additions and 0 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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