Resumen: aplicar el algoritmo de Euclides en el lenguaje C para obtener el máximo común divisor (MCD) de dos números; implementando dos funciones:

  • Una utiliza el ciclo while
  • Otra, que utiliza la recursión o recursividad

Máximo común divisor en C

Si no sabes lo que es este término, mira la Wikipedia. El algoritmo es realmente sencillo y puede ser implementado en pocas líneas de código.

Con ciclo while

Con este ciclo simplemente operamos mientras que b sea distinto de 0.

Dentro del ciclo, guardamos el valor de b en una variable temporal, después asignamos a b el valor de a % b que es sacar el residuo de dividir de manera entera a entre b.

Finalmente, a tomará el valor de temporal, que era el que inicialmente tenía b. En algún momento b es 0 y se termina el ciclo, que es en donde regresamos a, el cuál tendrá el último valor de b antes de haber obtenido el residuo.

Usando recursión

Como la definición dice que mcd(a,b) es lo mismo que mcd(b, a % b) podemos aplicar recursión o recursividad para llamar a la misma función dentro de sí misma, quedando así:

La condición de salida es que b sea 0, lo cual pasará en algún momento pues en algún momento el residuo de a / b será 0.

Poniendo todo junto

Máximo común divisor en C con algoritmo de Euclides - Ejecución del programa

Máximo común divisor en C con algoritmo de Euclides – Ejecución del programa

El código completo junto con una demostración de su uso queda así:

Como se puede ver, ambos métodos funcionan para obtener el máximo común divisor en C, tanto el recursivo como el iterativo.

Notas sobre el máximo común divisor en C

Recuerda que podrías almacenar el resultado en una variable. Por ejemplo:

int mcd = maximo_comun_divisor(50, 120);

También se pueden enviar variables:

int a = 50, b = 120; int mcd = maximo_comun_divisor(a, b);

Por otro lado, tanto a y b pueden ser proporcionadas por el usuario, y leídas por el programa usando scanf.

Conclusión

Si quieres probar el ejercicio en línea haz click aquí.

Te animo a leer más sobre C en mi blog.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,020 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: