python

Python – Máximo común divisor

Hoy vamos a ver cómo obtener el máximo común divisor de dos números usando el lenguaje de programación Python.

Usaremos Python para escribir dos funciones que nos van a ayudar a calcular el MCD de dos números, una recursiva y otra usando el ciclo while.

Recuerda que el máximo común divisor de dos números es el entero máximo que puede dividir a dos números sin dejar residuo.

Por ejemplo, el máximo común divisor de 6 y 20 es 2, ya que no hay número mayor que pueda dividir a ambos números (ya que el 3 puede dividir al 6 pero no al 20).

Veamos cómo resolver este ejercicio de programación con Python a través del algoritmo de Euclides.

Máximo común divisor con ciclo while

Veamos el primer enfoque, y es calcular el mcd de dos enteros usando el ciclo while. Dentro del ciclo simplemente vamos intercambiando variables y asignando a b el resultado de obtener el residuo de dividir a entre b.

El ciclo termina cuando b sea cero. En código queda así:

See the gist on github.

Fíjate en que estamos usando una variable temporal para ir guardando ahí el valor de b, ya que luego vamos a intercambiarlo con a.

Usando recursión

Si queremos ver el enfoque recursivo para el MCD usando Python podemos lograrlo igualmente con funciones. El código queda incluso más simplificado, pero la condición sigue siendo la misma: se va a detener cuando b sea 0.

See the gist on github.

La recursividad ocurre en la línea 4, pues invocamos a la función dentro de sí misma pero ahora pasamos a b como a (intercambiando la variable) y pasamos a b como el residuo de dividir a entre b.

Poniendo todo junto

Máximo común divisor en Python

Hasta ahora te he mostrado estos métodos en Python. Puedes usar el que más te convenga. Para usarlos y probarlos podemos ver el siguiente código completo:

See the gist on github.

El modo de uso de las funciones se encuentra en las líneas 21 hasta 26. Obviamente estos valores pueden venir de cualquier lugar, yo los he colocado en el código por simplicidad.

Te dejo con un enlace para ejecutar el código en línea y con éste otro para explorar más sobre Python en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
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/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

16 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 día hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.