Algoritmos Recursivos - Ejercicios Resueltos Parte 2

Bienvenido nuevamente a otro artículo sobre recursividad donde continuaré explicando con unos cuantos ejercicios adicionales para mejorar la práctica de la lógica en ésta temática.

1.- Encontrar el máximo común divisor de dos números:

   public static int mcd(int a, int b) {
      if(b == 0) {
         return  a;
      } else {
         return mcd(b, a % b);
      }
   }

Explicación: Si a la función mcd enviamos los parámetros respectivos a = 10 y b = 5, tendremos la siguiente solución. Si 5 = 0; como no es verdadero se ejecutará las sentencias dentro del sino (else) llamando otra vez a la función mcd con nuevos parámetros (5, 10%5), quiere decir (5, 0) pues el signo de porcentaje (%) permitirá obtener el residuo de la división solicitada, por tanto, 10 entre 5 tiene como residuo 0. Ahora b = 0 por lo tanto el máximo común divisor es 5, finalizando así el ciclo recursivo.

Puedes descargarlo completo clic aquí. 

2.- Mostrar los dígitos de un número al revés por ejemplo se ingresa el 1234, el resultado debe ser 4321.

   public static String invertir(int n) {
      if(n / 10 == 0) {
         return String.valueOf(n);  
      } else { 
         return n % 10 + invertir( n / 10 );
      }
   }

Explicación: Siendo el número dividido entre 10 para poder obtener el cociente y luego el residuo debe ir concatenando cada vez que se divida, de esta manera 1234, iniciaría por 4, siguiente 3, a continuación de 2 y por último 1.

Puedes descargarlo completo clic aquí.

3.- Encontrar el Mínimo Común Múltiplo

   public static int mcm(int b, int a) { 
      return (a * b) / mcd(b, a);
   }

Explicación: Cuando ya se tiene la solución recursiva al Máximo Común Divisor es mucho más sencillo poder encontrar el Mínimo Común Múltiplo para ello solamente debes multiplicar ambos números y dividirlos entre esa función mcd.

Puedes descargarlo completo clic aquí.

Comentarios

Publicar un comentario

Entradas populares de este blog

Personaliza tus reportes PDF desde PHP con la librería FPDF

Practica de Diagrama de Flujo Intermedio - Resueltos

Ejercicios Básicos para aprender a programar en Android Studio [Java y Kotlin]