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

Practica de Diagrama de Flujo Intermedio - Resueltos

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

Práctica de Diagrama de Flujo Nivel Intermedio - Resueltos (Parte II)