You are on page 1of 3

Subdireccin Acadmica Departamento de Sistemas y Computacin

Agosto-Diciembre 2011

Ing. En Sistemas Computacionales METODOS NUMERICOS ALGORITMO DE EUCLIDES Ricardo Morales Canales 09211204

Profesor: Ramn Alberto Zaviala Arriaza 09-OCTUBRE-2011

=ALGORITMO DE EUCLIDES=
El algoritmo de Euclides es un mtodo eficaz para calcular el mximo comn divisor (mcd) de dos nmeros enteros. El algoritmo consiste en varias divisiones eucldeas sucesivas. En la primera divisin, se toma como dividendo el mayor de los nmeros y como divisor el otro (se ahorra as un paso). Luego, el divisor y el resto sirven respectivamente de dividendo y divisor de la siguiente divisin. El proceso se para cundo se obtiene un resto nulo. El mcd es entonces el penltimo resto del algoritmo. Formalmente, si llamemos a, b los enteros iniciales, r1, rn ... rn-1 y rn = 0 los restos sucesivos, entonces: mcd (a, b) = mcd (b, r1), con r1 = a - bq (q es el cociente de a por b) En efecto los divisores comunes de a y b son los de a - bq y b:

porque si q divide a y b, obviamente divide a - bq que es una combinacin lineal de ambos, y recprocamente a = (a - bq) + bq es una combinacin lineal de b y a - bq. Luego el menor de los divisores comunes es el mismo, y repitiendo la operacin: mcd (b, r1) = mcd (r1, r2) = mcd (r2, r3) = ... = mcd (rn-1, rn) = mcd (rn-1, 0) = rn-1. Esto permite detallar el algoritmo efectivo: datos de entrada a y b - si hace falta, cambiarlos a positivos el algoritmo: mientras b 0 repetir las tres instrucciones siguientes: r resto de a / b ab br (dar a r el valor del resto de a dividido por b)

(el nuevo valor de a es el antiguo valor de b) (el nuevo valor de b es el valor de r)

el resultado es a (su ltimo valor). Este algoritmo da como resultado 0 si a y b son nulos, mientras que en matemticas, el mayor divisor de cero no existe.

Ejemplos
Se busca el mximo comn divisor de a = 945 y b = 651, nmeros escogidos al azar: 945 = 1651 + 294 651 = 2294 + 63 294 = 463 + 42 63 = 142 + 21 42 = 221 + 0 entonces mcd(951; 294) = 21 (el ltimo resto no nulo).

Como segundo ejemplo, tomemos nmeros de tamaos parecidos a los anteriores: a = 987 y b = 610: 987 = 1610 + 377 610 = 1377 + 233 233 = 1144 + 89 144 = 189 + 55 89 = 155 + 34 34 = 121 + 13 21 = 113 + 8 13 = 18 + 5 8 = 15 + 3 5 = 13 + 2 3 = 12 + 1 entonces mcd(987; 610) = 1

El segundo ejemplo es sustancialmente ms largo que el primero, y esto se debe a que todos los cocientes valen 1. Aqu a y b no fueron escogidos al azar: son dos trminos consecutivos de la sucesin de Fibonacci; es el peor de los casos para este algoritmo. Sin embargo, el nmero de pasos elementales es en O(n) - inferior a An con A una constante - donde n es el menor nmero de cifras de a y b.