Advertisement
TeRackSito

Máximo común divisor

Dec 2nd, 2023
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.38 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /**
  4.  * @author Stoyanov Angel Krasimirov
  5.  */
  6. public class MaxComDiv {
  7.     static Scanner sc = new Scanner(System.in);
  8.     public static void main(String[] args) {
  9.         int a = askNumber("Introduce el primer número");
  10.         int b = askNumber("Introduce el segundo número");
  11.         System.out.println("El máximo común divisor de " + a + " y " + b + " es: " + maxComDiv(a, b));
  12.     }
  13.  
  14.     /**
  15.      * Calcula el máximo común divisor de dos números enteros.
  16.      * <hr>
  17.      * @param a
  18.      * @param b
  19.      * @return El máximo común divisor de a y b.
  20.      */
  21.     private static int maxComDiv(int a, int b) {
  22.         int max = a > b ? a : b;
  23.         for (int i = max; i > 1; i--) {
  24.             if (a % i == 0 && b % i == 0)
  25.                 return i;
  26.         }
  27.         return 1;
  28.     }
  29.  
  30.     /**
  31.      * Pide al usuario que introduzca un número entero.
  32.      * <hr>
  33.      * @param message El mensaje que se mostrará al usuario.
  34.      * @return El número entero introducido por el usuario.
  35.      */
  36.     private static int askNumber(String message) {
  37.         System.out.printf("%s: ", message);
  38.         try {
  39.             return Integer.parseInt(sc.nextLine());
  40.         } catch (NumberFormatException e) {
  41.             System.out.println("¡Debe introducir un número entero!");
  42.             return askNumber(message);
  43.         }
  44.     }
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement