We might call it the grandaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day. D. E.

Texto completo

(1)
(2)

We might call it the grandaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day.

(3)

Pregunta: Dados dos números naturales no nulos, determinar el mayor divisor positivo común a ambos (es decir, determinar su máximo común divisor).

(4)

Si consideramos los naturales 18 y 30, los divisores positivos de 18 son

{1, 2, 3, 6, 9, 18}

mientras que los divisores positivos de 30 son

(5)

Si consideramos los naturales 18 y 30, los divisores positivos de 18 son

{1, 2, 3, 6, 9, 18}

mientras que los divisores positivos de 30 son {1, 2, 3, 5, 6, 10, 15, 30}.

(6)

Si consideramos los naturales 18 y 30, los divisores positivos de 18 son

{1, 2, 3,6,9, 18} mientras que los divisores positivos de 30 son

{1, 2, 3, 5,6,10, 15, 30}.

(7)

Si consideramos los naturales 18 y 30, los divisores positivos de 18 son

{1, 2, 3,6,9, 18} mientras que los divisores positivos de 30 son

{1, 2, 3, 5,6,10, 15, 30}.

(8)

El producto de todos los factores primos comunes a ambos números

2·3=6

(9)

El producto de todos los factores primos comunes a ambos números

18 = 2 · 3 · 3 30 = 2 · 3 · 5,

2·3=6

(10)

El producto de todos los factores primos comunes a ambos números

18 =2· 3 · 3 30 =2· 3 · 5,

2·3=6

(11)

El producto de todos los factores primos comunes a ambos números

18 =2·3· 3 30 =2·3· 5,

2·3=6

(12)

El producto de todos los factores primos comunes a ambos números

18 =2·3· 3 30 =2·3· 5,

2·3=6

(13)

El producto de todos los factores primos comunes a ambos números

18 =2·3· 3 30 =2·3· 5,

2·3=6

(14)

Algoritmo de Euclides

(15)

Los elementos de Euclides

(16)

En la Matemática griega un número natural n era una longitud

n

En nuestro ejemplo:

30

(17)

En la Matemática griega un número natural n era una longitud

n En nuestro ejemplo:

30

(18)

El método de Euclides consiste en comparar longitudes:

(19)

En nuestro ejemplo

30

(20)

En nuestro ejemplo

30 =18+12

(21)

En nuestro ejemplo

30 =18+12

(22)

En nuestro ejemplo

30 =18+12

18

(23)

En nuestro ejemplo

30 =18+12

18 12

18 =12+6

(24)

En nuestro ejemplo 30 =18+12 18 12 18 =12+6 12 6 12 6

(25)

En nuestro ejemplo 30 =18+12 18 12 18 =12+6 12 6 6 6 12 =6 + 6

(26)

En nuestro ejemplo 30 =18+12 18 12 18 =12+6 12 6 6 6 12 =6 + 6 30 =6 + 6 + 6 + 6 + 6 18 =6 + 6 + 6

(27)

¡La comparación de segmentos son divisiones con resto! 30 =18+12 18 12 18 =12+6 12 6 6 6 12 =6 + 6 30 = 1 ·18+12 18=1 ·12+6 12=2 ·6+0 donde0<6<12<18<30.

(28)

¡La comparación de segmentos son divisiones con resto! 30 =18+12 18 12 18 =12+6 12 6 6 6 12 =6 + 6 30 = 1 ·18+12 18=1 ·12+6 12=2 ·6+0 donde0<6<12<18<30.

(29)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+a1 a2= q1a1+0 (1) donde0<a1< . . .an 1<an<an+1.

(30)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+a1 a2= q1a1+0 (1) donde0<a1< . . .an 1<an<an+1.

(31)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+a1 a2= q1a1+0 (1) donde0<a1< . . .an 1<an<an+1.

¿ Podemos acotar el número de pasos del algoritmo de Euclides de an+1y an?

(32)

Gabriel Lamé, 1795-1870.

Teorema de Lamé (1844) El número de pasos en el algoritmo de Euclides de dos naturales positivos es menor o igual a cinco veces el número de dígitos del más pequeño (escrito en base 10).

(33)

Gabriel Lamé, 1795-1870.

Teorema de Lamé (1844) El número de pasos en el algoritmo de Euclides de dos naturales positivos es menor o igual a cinco veces el número de dígitos del más pequeño (escrito en base 10).

(34)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+a1 a2= q1a1+0 (2) donde0<a1<a2< . . .an 1 <an<an+1.

(35)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+1 a2= q1a1+0 (2) donde0<a1=1<a2< . . .an 1 <an<an+1.

(36)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+1 a2= 2a1+0 (2) donde0<a1=1<a2< . . .an 1 <an<an+1.

(37)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= q2a2+1 a2= 2a1+0=2 (2) donde0<a1=1<a2=2< . . .an 1 <an<an+1.

(38)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= qnan+an 1 an= qn 1an 1+an 2 ... a3= 1a2+1 a2= 2a1+0=2 (2) donde0<a1=1<a2=2< . . .an 1 <an<an+1.

(39)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= 1· an+an 1 an= 1· an 1+an 2 ... a3= 1· a2+1 a2= 2· a1+0=2 (2) donde donde 0<a1=1<a2=2<a3=3< . . .an 1 <an<an+1.

(40)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= an+an 1 an= 1· an 1+an 2 ... a3= 1· a2+1 a2= 2· a1+0=2 (2) donde donde 0<a1=1<a2=2<a3=3< . . .an 1 <an<an+1.

(41)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= an+an 1 an= 1· an 1+an 2 ... a3= 1· a2+1 a2= 2· a1+0=2 (2) donde donde 0<a1=1<a2=2<a3=3< . . .an 1 <an<an+1.

El par de números más pequeños an+1>ancuyo algoritmo de Euclides tiene n pasos son ¡ números de Fibonacci!

(42)

Si an+1>an >0 cuyo algoritmo de Euclides tiene n pasos: an+1= an+an 1 an= 1· an 1+an 2 ... a3= 1· a2+1 a2= 2· a1+0=2 (2) donde donde 0<a1=1<a2=2<a3=3< . . .an 1 <an<an+1.

El par de números más pequeños an+1>ancuyo algoritmo de Euclides tiene n pasos son ¡ números de Fibonacci!

Los términos de la sucesión de Fibonacci Fi verifican

(43)

Ejemplo de Lamé: Para F16=1597 > F15=987 tenemos ¡15 divisiones!

(44)

Figure

Actualización...

Referencias

Actualización...

Related subjects :