Processing math: 100%

Algoritmo de Euclides

El algoritmo de Euclides es un método para calcular el máximo común divisor (MCD). Fue escrito por Euclides en su obra magna Elementos.

Dicho algoritmo funciona no sólo para los números naturales, sino para cualquier conjunto en el que exista una "división con residuo". A este tipo de divisiones en la que existe residuo se les nombra divisiones euclidianas y a los conjuntos donde se puede definir dicha división se les llama dominios euclídeos. Con lo anterior podemos decir que el algoritmo de Euclides extendido es una ligera modificación del Algoritmo de Euclides que permite además expresar al máximo común divisor como una combinación lineal. Este algoritmo tiene aplicaciones en diversas áreas como álgebra, teoría de números y ciencias de la computación, entre otras.

Por ejemplo, el conjunto de los números enteros y el de los polinomios con coeficientes racionales son dominios euclídeos porque podemos definir una división con residuo.

El algoritmo de Euclides se puede representar con la siguiente proposición:

Sean a, b enteros no nulos. Entonces MCD(a,b)=MCD(b,r) donde r es el único 0<r<b tal que existe un entero q con a=bq+r. Esto es, que r es el resto de la división de a por b.

Esta proposición nos indica que es igual de válido calcular el MCD(a,b) que el MCD(b,r), con la ventaja de que r es un entero de menor tamaño que el original a. Esto es aprovechado por el algoritmo de Euclides para el cálculo del máximo común divisor de dos números enteros.

Para calcular el mcd de dos enteros a y b (ambos >0, suponemos a>b) se definen qi y ri recursivamente mediante las ecuaciones:

a=bq1+r1  (0<r1<b) b=r1q2+r2  (0<r2<r1) r1=r2q3+r3  (0<r3<r2) .... rk3=rk2qk1+rk1  (0<rk1<rk2) rk2=rk1qk  (rk=0)

Y de la proposición anterior, se sigue que:

MCD(a,b)=MCD(b,r1)=MCD(r1,r2)=...=MCD(rk2,rk1)=rk1

Además se puede demostrar que el número de pasos necesarios para calcular el mcd de dos números es menor que 5 veces el número de dígitos del menor de ellos.

©