. 1 TEORIA DE NUMEROS Temas: CLASE 2 HS: MAXIMO COMUN DIVISOR ALGORITMO MCD(A,B) IDENTIDAD DE BEZOUT ALGORITMO ST(A,B) CLASE 1:15 H: EL TEOREMA FUNDAMENTAL DE LA ARITMETICA. GENERACION DE LA DESCOMPOSICIÓN EN PRIMOS. MINIMO COMUN MULTIPLO RELACION ENTRE MCD Y MCM (Apuntes de apoyo a clases teóricas) (Duración: 3 hs)
Bibliografía: 2 1. T. Hibbard. Apuntes de Cátedra. Año 2000. 2. J. Yazlle. Apuntes de Cátedra: Aritmética Elemental. U.N.Sa. Marzo 2006. 3. Grimaldi. Addison Wesley (1989), Matemática discreta y combinatoria. 4. Enzo Gentile. Eudeba (1984). Notas de aritmética. 5. Enzo Gentile. SECRETARIA GENERAL DE LA ORGANIZACION DE LOS ESTADOS AMERICANOS. (1985). Aritmética.
Objetivos: 3 1. Definir mcd(a, b): máximo común divisor 2. Demostrar propiedades del mcd(a, b) 3. Demostrar el Teorema de Euclides para calcular el mcd(a, b) 4. Proponer algoritmos para calcular mcd(a, b) y decidir cuál es más eficiente. 5. Demostrar el Teorema de Euclides Extendido: st(a, b) 6. Proponer un algoritmo para calcular (s, t) 7. Demostrar el Lema de Euclides: Regla de Oro de la Aritmética. 8. Demostrar el Teorema Fundamental de la Aritmética (TFA) 9. Proponer un algoritmo para la factorización de un número en sus factores primos. 10.Definir mcm(a,b): mínimo común múltiplo 11.Mostrar la relación entre mcd y mcm
Campo de Aplicación del tema: 4 1. Criptografía, cifrado de claves y mensajes.
Recordemos conceptos vistos en la 5 clase anterior: 1. Algoritmo de la división: Sean a y b, con b 0, a = b * c + r con 0 r < b 2. Definición de Divisor: a,b, b 0, b a k / a = b.k 3. Número Primo: Si el conjunto de divisores es {1, -1, a, -a} 4. Pruebas de primalidad: Buscábamos la lista de los posibles factores de a En la clase de hoy: - vamos a centrar nuestro interés en las listas de divisores de 2 números N - vamos a encontrar los divisores comunes - Y entre ellos, vamos a encontrar el máximo
Máximo Común Divisor: 6 Veamos el siguiente ejemplo: a = 36 y b = 24 Divisores (36) = { 1, 2, 3, 4, 6, 9, 12, 18, 36 } Divisores (24) = { 1, 2, 3, 4, 6, 8, 12, 24 } DivComunes(36, 24) = { 1, 2, 3, 4, 6, 12 } Máximo = 12 Observemos que: 3 36 3 24 12 36 12 24 Definición de Divisor Común: a,b +, Sea d 0 d + Si d a d b d es divisor común Definición de Máximo Común Divisor: Sean a,b +, Sea d 0 d + Si d a d b si c + : c a c b c d
Máximo Común Divisor: En el ejemplo: 3 36 3 24 12 36 12 24 Casos especiales: 3 12 c = 3 y d = 12; d = m.c.d.(36, 24) 1. Si a = 0 y b 0 mcd ( 0, b) = d Analicemos: Debe ocurrir que: d a d b d 0 0 = d. k1 0 = d. 0 d = 1,.. b, d b b = d. k2 d = 1,.. b mcd ( 0, b) = b b=común y mayor
Máximo Común Divisor: casos especiales 2. Si a 0 y b = 0 mcd ( a, 0) = d Analicemos: Debe ocurrir que: d a d b d a a = d. k1 d 0 0 = d. k2 0 = d. 0 d = 1,.. a d = 1,.. a,. mcd ( a, 0) = a a=común y mayor Definición: Si mcd ( a, b) = 1 a y b son coprimos o primos entre sí o primos relativos
Máximo Común Divisor: Algoritmo 1 Teniendo en cuenta los casos especiales y recurriendo a la lista de posibles divisores, expresemos un primer algoritmo: a y b No ambos nulos. mcd1(a, b) = Si (a = 0) luego b sino si (b = 0) luego a sino sea k = minimo (a, b) Para d = k hasta 2 con paso (-1) Si (resto(a, d) = 0 y resto(b, d) = 0) luego d Fin_Para Contestar 1 Para a = 36 y b = 24, d tomaría los valores: 24, 23, 22, 21,..3, 2. Pero en d = 12 finaliza el algoritmo => el nro de comparaciones es 13 Para mejorarlo, tendríamos que saber algo más del mcd(a, b), veamos el sig. lema:
Máximo Común Divisor: Lema El conjunto de divisores comunes de a y de b es igual al conjunto de divisores comunes de b y resto(a, b) En símbolos: Sean a, b, d + con b 0. Demostración: d a d b d b d resto(a, b) ) La ida: Si d a d b d b d resto(a, b) H) d a d b b 0 T) d b d resto(a, b) D) Si d a a = d. k1 ; k1 Si d b b = d. k2 ; k2 Por el algoritmo de la división: a = b. c + r; 0 r < b Despejo r = a b.c Reemplazo a, b: r = (d. k1) ( d.k2) c r = d. (k1 k2 c) d b (por H) d resto(a, b)
Máximo Común Divisor: Lema El conjunto de divisores comunes de a y de b es igual al conjunto de divisores comunes de b y resto(a, b) En símbolos: Sean a, b, d + con b 0. Demostración: d a d b d b d resto(a, b) ) La vuelta: Si d b d resto(a, b) d a d b H) d b d resto(a, b) T) d a d b D) Si d b b = d. k1 ; k1 Si d r r = d. k2 ; k2 Por el algoritmo de la división: a = b. c + r; 0 r < b Reemplazo b y r: a = (d. k1) c + (d.k2) a = d. (k1.c + k2) d b (por H) d a
Máximo Común Divisor: Teorema de Euclides Euclides: Matemático y Geómetra griego. (325 265 a.c). Conocido como el Padre de la Geometría Si El conjunto de divisores comunes de a y de b es igual al conjunto de divisores comunes de b y resto(a, b) Entonces: mcd(a, b) = mcd(b, r) = último resto no nulo Su demostración nos dará el procedimiento para encontrar el mcd(a, b):
Máximo Común Divisor: Teorema de Euclides Demostración: Hacemos: a b r1 c1 a = b. c1 + r1 Con 0 r1 < b Si r1 = 0 a = b. c1 b a mcd(a,b) = b Si r1 0 r1 > 0 Hacemos: b r1 r2 c2 b =r1. c2 + r2 ; 0 r2 < r1 Si r2 = 0 b =r1. c2 r1 b y vemos que al ser: a = b. c1 + r1 a = (r1.c2). c1 + r1 a = r1.c2. c1 + r1 a = r1 (c2. c1 + 1) r1 a mcd( a, b) = r1 Último resto 0
Máximo Común Divisor: Teorema de Euclides Si r2 0 r2 > 0 Hacemos: r1 r2 r3 c3 r1 =r2. c3 + r3 ; 0 r3 < r2 Si r3 = 0 r1 =r2. c3 r2 r1 y vemos que al ser: b = r1. c2 + r2 b = (r2.c3). c2 + r2 b = r2. c3. c2 + r2 b = r2 (c3. c2 + 1) r2 b y que al ser: a = b. c1 + r1 a = r2 (c3. c2 + 1) c1 + r1 a = r2.( c3. c2 + 1) c1 + r2. c3 b = r2 (K) r2 a mcd( a, b) = r2
r k-1 = r k. c k+1 r k r k-1 r k b r k a mcd(a, b) = r k Último resto 0 Máximo Común Divisor: Teorema de Euclides Si r3 0 r3 > 0 Generalizando el proceso tenemos: r k-2 r k-1 r k c k r k-2 =r k-1. c k + r k ; 0 r k < r k-1 Si r k = 0 r k-2 =r k-1. c k Si r k > 0 hacemos: r k-1 r k-2 r k-1 b r k-1 a mcd(a, b) = r k-1 r k-1 r k r k+1 c k+1 ; 0 r k+1 < r k < r k-1 Como la sucesión r i es decreciente : r k+1 = 0 r k-1 = r k. c k+1 + r k+1
r k 0 r k+1 = 0 Máximo Común Divisor: Algoritmo 2 Teniendo en cuenta los casos especiales, el lema, el teorema y su demostración, expresamos un segundo algoritmo: a y b No ambos nulos. mcd2(a, b) = Si (b = 0) luego a sino mcd2( b, resto(a, b)) Este algoritmo es más eficiente que mcd1(a, b) y termina en un número finito de pasos, ya que los argumentos va decreciendo hasta un resto igual a cero. mcd2( 36, 24) = mcd2( 24, 12) = mcd2( 12, 0) = 12 r k 0 r k+1 = 0 mcd2( 70, 15) = mcd2( 15, 10) = mcd2( 10, 5) = mcd2( 5, 0) = 5
Identidad de Bezout: mcd(a,b) como combinación lineal de a y b 17 Retomando la definición de Máximo Común Divisor: Sean a,b +, Sea d 0 d + Si d a d b si c + : c a c b c d Étienne Bézout : Matemático francés. (1730-1783) Dados dos números a, b + no ambos nulos, s, t / s.a + t. b = mcd(a, b), es la combinación lineal positiva más pequeña. Ejemplo: a = 18 y b = 24 ; mcd(18, 24) = 6 También: 6= (-1). 18 + (1). 24 ; (s, t) = (-1, 1) 6= (3). 18 + (-2). 24 ; (s, t) = (3, -2) Cuando a y b son pequeños, podemos calcular (s, t) por tanteo, y cuando a y b son grandes el cálculo se complica Algoritmo
Identidad de Bezout: Algoritmo de Euclides Extendido 18 Tratemos de encontrar un algoritmo para calcular (s, t), basándonos en el algoritmo mcd(a, b): Sabemos que: También sabemos que: Si d = mcd(a, b) Por Bezout: s 0, t 0 / s 0. a + t 0. b = d A d = mcd(b, resto(a, b)) Llamemos r 1 = resto(a, b) = a b. c 1 d = mcd(b, r 1 ) Por Bezout: s 1, t 1 / s 1. b + t 1. r 1 = d Tomando la ecuación: Reemplazando r 1 : s 1. b + t 1. r 1 = d s 1. b + t 1. (a b. c 1 ) = d s 1. b + t 1. a t 1. b. c 1 = d t 1. a + s 1. b t 1. b. c 1 = d t 1. a + (s 1 t 1. c 1 ). b = d B Igualando: A B s 0 = t 1 t 0 = s 1 t 1. c 1
Identidad de Bezout: Algoritmo de Euclides Extendido 19 Si invocamos al algoritmo mcd(a, b) una vez más, es porque r 1 0 d = mcd(r 1, resto(b, r 1 )) Llamemos r 2 = resto(b, r 1 ) = b r 1.c 2 d = mcd(r 1, r 2 ) Por Bezout: s 2, t 2 / s 2. r 1 + t 2. r 2 = d Tomando la ecuación: s 2. r 1 + t 2. r 2 = d Reemplazando r 2 : s 2. r 1 + t 2. (b r 1. c 2 ) = d s 2. r 1 + t 2. b t 2. r 1. c 2 = d t 2. b + (s 2 t 2. c 2 ). r 1 = d D Recordando que: d = mcd(b, r 1 ) Por Bezout: s 1, t 1 / s 1. b + t 1. r 1 = d C Igualando: C D s 1 = t 2 t 1 = s 2 t 2. c 2
Identidad de Bezout: Algoritmo de Euclides Extendido 20 Generalizando el proceso, se tiene que: s n = t n+1 t n = s n+1 t n+1. c n+1 Cuando r n+1 = 0 Finaliza el proceso mcd(r n, r n+1 ) = r n s n+1, t n+1 / s n+1. r n + t n+1. r n+1 = d = r n s n+1. r n + t n+1. 0 = d = r n s n+1. r n = r n s n+1 = 1 t n+1 = 0 ó cualquier valor Que serán los valores que devolverá el algoritmo en caso de no recurrencia
Identidad de Bezout: Algoritmo de Euclides Extendido 21 st (a, b) = Si (b = 0) luego (1, 0) Sino Sea (c, r) = cr10(a, b) Sea (s, t ) = st (b, r) (t, s - t.c) st (18, 24) = (c, r) = cr10 (18, 24) = (0, 18) (s, t ) = st(24, 18) = (c, r) = cr10 (24, 18) = (1, 6) (t, s -t c) = (-1,1-(-1).0) = (-1,1) (s, t ) = st(18, 6) = (c, r) = cr10 (18,6) = (3, 0) (t, s -t c) = (1, 0-1.1) = (1,-1) Efectivamente: (-1). 18 + (1). 24= -18+24 = 6 ; (s, t) = (-1, 1) (s, t ) = st(6, 0) = (1,0) (t, s -t c) = (0, 1-0.3) = (0,1)
Identidad de Bezout: Algoritmo de Euclides Extendido 22 st (a, b) = Si (b = 0) luego (1, 0) Sino Sea (c, r) = cr10(a, b) Sea (s, t ) = st (b, r) (t, s - t.c) Otra manera de hacer la prueba de escritorio: a b c r s t s = t t =s -t.c 18 24 0 18-1 1-1 1-(-1).0=1 24 18 1 6 1-1 1 0-1.1= -1 18 6 3 0 0 1 0 1-0.3= 1 6 0 1 0 Efectivamente: (-1). 18 + (1). 24= -18+24 = 6 ; (s, t) = (-1, 1)
Próxima clase : 23 Regla de Oro de la Aritmética Teorema Fundamental de la Aritmética Algoritmos para obtener la descomposición en primos.
Lema de Euclides: Regla de Oro de la Aritmética Si p es primo; p a.b p a ó p b Ejemplo: Si p = 3; a = 15 ; b = 4 3 15.4 3 15 ó 3 4 H): p es primo; p a.b k / a. b = k.p T): p a k / a = k. p ó p b k / b = k. p D) Si p a El teorema está demostrado Si p no divide a a : V ó V F
Lema de Euclides: Regla de Oro de la Aritmética Si p es primo; p a.b p a ó p b D) Si p a El teorema está demostrado. Si p no divide a a : a y p son coprimos: s, t / s.a + t.p = 1 p a.b por H) o sea a.b = p.m, con m A Multipliquemos por b a la expresión A: s.a.b + t.p. b = b Reemplazo a.b = p.m : s.p.m + t.p. b = b p.(s.m + t.b) = b p b El teorema está demostrado.
Teorema Fundamental de la Aritmética: Idea Sea a > 1; por ejemplo a = 60 a se puede escribir como: a = 2. 30 P 1 a 1 a 1 = 30 = 2. 15 P 1 a 2 a 2 =15 = 3. 5 P 2 a 3 a 3 = 5 = 5. 1 a = 2. 2. 3. 5 a = P 1. P 1. P 2. P 3 a = (P 1 ) 2. P 2. P 3 = Factorización como producto de primos. P 3 a 4 a 4 = 1 Fin de la factor.
Teorema Fundamental de la Aritmética: (TFA) Cualquier número entero a > 1 puede escribirse de manera única, salvo el orden, como producto de números primos 1 Escribirse como producto de primos (Descomposición) Demostración de: 2 Esa escritura es única, salvo el orden (Unicidad)
Teorema Fundamental de la Aritmética: Demostración de la Descomposición Si a es primo a = P i / P i es algún primo Sino, a es compuesto: a = P i. a 1 a = P i Producto de un solo factor Está demostrado ; con a 1 Z + P i primo por el Teorema: n + si n es compuesto p primo/ p n Sea P i = P 1 el menor divisor primo de a a = P 1. a 1 Si a 1 es primo a = P 1. P j / P j es algún primo Está demostrado Sino, a 1 es compuesto: a 1 = P i. a 2 ; con a 2 Z + P i primo Sea P i = P 2 el menor divisor a 1 = P 2. a 2 primo de a 1 a = P 1. P 2. a 2
Teorema Fundamental de la Aritmética: Demostración de la Descomposición Repitiendo el proceso un nro. finito de veces, obtenemos: a 1 > a 2 > a 3 > > a k-1 Con a = P 1. P 2. P 3. P k-1. a k-1 Donde a k-1 es primo ó es 1 Si a k-1 es primo = P k a = P 1. P 2. P 3. P k-1. P k Está demostrado Si a k-1 es 1 a = P 1. P 2. P 3. P k-1 Está demostrado Hemos demostrado la descomposición de a como producto de primos
Teorema Fundamental de la Aritmética: Demostración de la Unicidad Supongamos lo contrario para llegar a una contradicción: a > 1 puede descomponerse de 2 formas distintas como producto de primos Sea a = P 1. P 2. P 3 P k / P i son primos Y a = Q 1. Q 2. Q 3 Q r / Q i son primos Supondremos que el nro de factores son distintos: k < r a = P 1. ( P 2. P 3 P k ) P 1 a P 1 Q 1. Q 2. Q 3 Q r P 1 Q j (algún Q j ) Por Regla de Oro de Aritm. Sea Q j = Q 1 si P 1 Q 1 pero ambos son primos P 1 = Q 1 a = P 1. P 2. P 3 P k = P 1. Q 2. Q 3 Q r Como P 1 0, dividimos ambos miembros P 2. P 3 P k = Q 2. Q 3 Q r Sea a = P 2. P 3 P k
Teorema Fundamental de la Aritmética: Demostración de la Unicidad Sea a = P 2. P 3 P k y a = Q 2. Q 3 Q r a = P 2. ( P 3 P k ) P 2 a P 2 Q 2. Q 3 Q r P 2 Q j (algún Q j ) Por Regla de Oro de Aritm. Sea Q j = Q 2 si P 2 Q 2 y ambos son primos P 2 = Q 2 a = P 2. P 3 P k = P 2. Q 3 Q r Como P 2 0 P 3 P k = Q 3 Q k Q r Como k < r P k = Q k. Q k+1 Q r Pero como P k = Q k dividimos por P k 1 = Q k+1 Q r Lo que es una contradicción ya que Q i > 1 y la productoria es > 1 Solo existe 1 forma de descomponer a a como producto de primos, salvo el órden.
Descomposición en primos: Algoritmo1 32 Ejemplo: 60 = 2. 2. 3. 5 60 = 2 2. 3 1. 5 1 Encontremos un algoritmo que devuelva las veces (el orden) en las que un primo p aparece en la factorización: En el ejemplo el primo 2 aparece 2 veces. 60 2 30 2 15 2 15 no es divisible por 2 el 2 aparece 2 veces en la factorización orden( p, a) = Sea (c, r) = cr10(a, p) Si (r 0) luego 0 Sino 1 + orden(p, c) orden( 2, 60) = 1 + orden( 2, 30) = 1 + orden( 2, 15) = orden( 2, 60) = 1 + 1 + 0 = 2 0
Descomposición en primos: Algoritmo 2 33 Ejemplo: 60 = 2. 2. 3. 5 60 = 2 2. 3 1. 5 1 Encontremos un algoritmo que devuelva el par (15, 2), indicando que el primo 2 aparece 2 veces en la factorización y que se debe seguir factorizando desde 15. ordpar( p, a) = Sea (c, r) = cr10(a, p) Si (r 0) luego (a, 0) Sino sea (m, q) = ordpar(p, c) (m, q+1) ordpar( 2, 60) = (m,q) = ordpar( 2, 30) = (m,q+1) = (15, 2) ordpar( 2, 30) = (15, 1) ( m, q) = ordpar(2,15) =(15, 0) (m,q+1) = (15, 1) ordpar( 2, 15) = ( 15, 0)
Descomposición en primos: Algoritmo 3 34 ordpar( p, a) = Sea (c, r) = cr10(a, p) Si (r 0) luego (a, 0) Sino sea (m, q) = ordpar(p, c) (m, q+1) En la variable m queda el último cociente donde ya no se puede seguir dividiendo (r 0), entonces vamos a proponer un algoritmo que aproveche m para continuar con la factorización de a : factorizar(a) = factorizar1 (a, 2, ) donde factorizar1(a, p, L) = Si (a = 1) luego L Sino Sea (m, q) = ordpar(p, a) factorizar1(m, proximoprimo(p), si (q = 0) L sino L U {(p, q)} ) Prueba de escritorio de factorizar(60) en el pizarrón
Mínimo Común Múltiplo: Definición 35 Sea a, b y a b 0, m Si a m b m m / a m b m m m m = m.c.m(a, b) Ejemplo: a = 3 y b = 4 m = 12 3 12 4 12 m = 24 3 24 4 24 12 24 12 = m.c.m(3, 4)
Ver demostración en la bibliografía citada Mínimo Común Múltiplo: su relación con el mcd(a, b): Relación entre el mcd(a, b) y mcm(a,b): Sea a, b + e a = P 1 e 1. P 2 e 2... P k k f b = P 1 f 1. P 2 f 2... P k Con e i 0 y f i 0 k Sea g i = min(e i, f i ) Sea h i = max(e i, f i ) mcd(a, b)= P 1 g 1. P 2 g 2... P k g k mcm(a, b)= P 1 h 1. P 2 h 2... P k h k Propiedad: m.c.m.(a,b) = a. b mcd(a, b)
Mínimo Común Múltiplo: su relación con el mcd(a, b), ejemplo: Relación entre el mcd(a, b) y mcm(a,b): Propiedad: m.c.m.(a,b) = a. b mcd(a, b) Ejemplo: a= 491.891.400 = 2 3 3 3 5 2 7 2 11 1 13 2 b= 1. 138.845.708= 2 2 3 2 7 1 11 2 13 3 17 1 mcd(a,b) = 2 2 3 2 7 1 11 1 13 2 17 0 = 468468 mcm(a,b) = 23 3 3 5 2 7 2 11 1 13 2 2 2 3 2 7 1 11 2 13 3 17 1 2 2 3 2 7 1 11 1 13 2 17 0 mcm(a,b) = 25 3 5 5 2 7 3 11 3 13 5 17 1 2 2 3 2 7 1 11 1 = 23 3 3 5 2 7 2 11 2 13 3 13 2 17 0 1 17 1 mcm(a,b) = 1.195.787.993.400
Para finalizar la clase de hoy. 38 1. Definir mcd(a, b): máximo común divisor 2. Demostrar propiedades del mcd(a, b) 3. Demostrar el Teorema de Euclides para calcular el mcd(a, b) 4. Proponer algoritmos para calcular mcd(a, b) y decidir cuál es más eficiente. 5. Demostrar el Teorema de Euclides Extendido: (s,t) / a. s + t. b = mcd(a,b) 6. Proponer un algoritmo para calcular (s, t) = st(a,b) 7. Demostrar el Lema de Euclides: Regla de Oro de la Aritmética. 8. Demostrar el Teorema Fundamental de la Aritmética (TFA) 9. Proponer un algoritmo para la factorización de un número en sus factores primos. 10.Definir mcm(a,b): mínimo común múltiplo y mostrar la relación con el mcd(a,b)