Python - Nivel 18 - Reto 14 - Máximo común divisor por el algoritmo de Euclides

preview_player
Показать описание
En este video vamos a definir una función que encuentra el máximo común divisor de dos números utilizando un algoritmo mucho más eficiente que los que hemos utilizado en videos anteriores, que va a ser el algoritmo de Euclides.
Рекомендации по теме
Комментарии
Автор

Que genial esta formula de Euclides y representado en un algoritmo primera vez que lo veo la verdad, y mas aplicado en el máximo común divisor si esto me lo hubieran enseñado en la escuela otra historia seria. Muchas gracias profesor Manuel González.

christianalexandergaldamez
Автор

Genial!! Muy buenos los vídeos de funciones. Saludos

maxi
Автор

Manuel, me encantan el tipo de ejercicios que pones. Me ha servido para recordar a Euclides

jmmatas
Автор

Más allá de los conceptos matemáticos, es genial cómo haces notar la importancia de elegir bien el algoritmo y pensar en su eficiencia. Gracias por tus videos.

lucianomartinez
Автор

yo lo hice usando recursividad, aunque esto tal vez ocupe más memoria
def mcd_euclides(n, m):
if m==0:
return n
else:
resto=n%m
mcd=mcd_euclides(m, resto)
return mcd

Kaisokuo
Автор

Hola, me surge una duda en el codigo final:

def mcd_euclides(x, y):
while x%y!=0:
x, y=y, x%y #al asignar primero x=y implicaría luego que y=y%y a mi parecer, aunque lo ejecute y funciona correcto
return y

No entiendo cómo python logra entender que en esa misma linea cuando nos referimos al valor de x es el anterior y no el nuevo que fue hecho en la misma linea (?) Yo prefiero usar una variable auxiliar mientras no entienda cómo lo hizo el interprete, saludos Profesor :)

medicenanonimo