Cap´ıtulo 2 Divisibilidad en Z - IMERL
Cap´ıtulo 2 Divisibilidad en Z - IMERL
Cap´ıtulo 2 Divisibilidad en Z - IMERL
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.2. ALGORITMO DE EUCLIDES. TEOREMA DE LAMÉ 31<br />
2.2.1. Teorema de Lamé<br />
Examinamos el algoritmo de Euclides sobre una <strong>en</strong>trada (a, b) tomando nota de<br />
coci<strong>en</strong>tes y de restos. Si r0 = a y r1 = b, se ti<strong>en</strong>e:<br />
r0 = q1r1 + r2<br />
r1 = q2r2 + r3<br />
. (2.1)<br />
rn−2 = qn−1rn−1 + rn<br />
rn−1 = qnrn<br />
Hemos probado con anterioridad que rn = mcd(a, b). Notemos, por otro lado, que<br />
el último coci<strong>en</strong>te, qn es mayor o igual que 2 (salvo que n = 1).<br />
D<strong>en</strong>otemos por E(a, b) el número de divisiones que realiza el algoritmo de Euclides<br />
si el input es (a, b). El objetivo es probar una bu<strong>en</strong>a cota superior para E(a, b).<br />
Sea Fn el n–ésimo número de Fibonacci que, recordemos, está definido por F0 = 0,<br />
F1 = 1 y Fn = Fn−1 + Fn−2 si n ≥ 2.<br />
Lema 2.11 Sean a y b <strong>en</strong>teros tales que a > b > 0 y supongamos que E(a, b) = n.<br />
Entonces, a ≥ Fn+2 y b ≥ Fn+1<br />
Demostración.– Utilizaremos la notación de 2.1 y probaremos que r0 ≥ Fn+2 y<br />
r1 ≥ Fn+1 por inducción <strong>en</strong> n.<br />
El <strong>en</strong>unciado es cierto para n = 1. En este caso, el algoritmo de Euclides consta<br />
de una única división, r0 = q0r1 y puesto que r0 > r1, los m<strong>en</strong>ores <strong>en</strong>teros que lo<br />
verifican son r1 = 1 = F2 y r0 = 2 = F3.<br />
Supongamos ahora que el <strong>en</strong>unciado es cierto para i < n; queremos probarlo para n.<br />
El primer paso del algoritmo de Euclides es r0 = q0r1 +r2 y sabemos que E(r1, r2) =<br />
n − 1. Por lo tanto, r1 ≥ Fn+1 y r2 ≥ Fn. Por lo tanto, r0 ≥ r1 + r2 ≥ Fn+2.<br />
A partir del Lema anterior y utilizando que<br />
donde α = 1+√ 5<br />
2<br />
y β = 1−√ 5<br />
2 , se ti<strong>en</strong>e<br />
Fn = αn − βn √ ,<br />
5<br />
Corolario 2.12 Si a > b > 0, E(a, b) < c1 log(u) + c2 − 2 + c3u −1 , donde c1 =<br />
1<br />
log α = 2,08, c2 = log √ 5<br />
log α = 1,67 y c3<br />
1 = √ = 0,93. (log logaritmo natural). Si<br />
5 log α<br />
se escribe la cota anterior <strong>en</strong> términos de la talla binaria de a (es decir, log2 a) se<br />
obti<strong>en</strong>e, redondeando, que<br />
E(a, b) ≤ 1,90 log 2 a − 0,33