Introducción a la teoría de números. Ejemplos y - TEC-Digital
Introducción a la teoría de números. Ejemplos y - TEC-Digital
Introducción a la teoría de números. Ejemplos y - TEC-Digital
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
136 ALGORITMOS PARA EL MCD<br />
Así,<br />
De manera análoga, a − b · �a/b� ≥ b · (�a/b� + 1) − a si pfrac(a/b) ≥ 1/2.<br />
⎧<br />
⎨ a − b · �a/b� si pfrac(a/b) ≤ 1/2,<br />
el menor resto es r =<br />
⎩<br />
|a − b · (�a/b� + 1)| si pfrac(a/b) > 1/2.<br />
Como habíamos establecido antes (ecuación 8.2),<br />
entonces,<br />
⎧<br />
⎨ �a/b� si pfrac(a/b) ≤ 1/2,<br />
�a/b + 1/2� =<br />
⎩<br />
�a/b� + 1 si pfrac(a/b) > 1/2,<br />
el menor resto es r = |a − b · �a/b + 1/2�|.<br />
Aspectos computacionales. En OOoBasic “el resto” se calcu<strong>la</strong> con <strong>la</strong> función binaria Mod. Se<br />
implementa como a Mod b= a − b · (a\b) y tenemos<br />
a = b · a\b + a Mod b<br />
Por ejemplo, si a = −144 y b = −89 entonces a\b= 1 y a Mod b= −55.<br />
Si a Mod b< 0 y queremos el resto r2 positivo, <strong>la</strong> figura 8.4 nos sugiere r2 = a Mod b + |b|, en<br />
este caso,<br />
a = b · (a\b − sgn(b)) + a Mod b+|b|<br />
El menor resto se calcu<strong>la</strong> como r = |a − b · �a/b + 1/2�| =Abs(a-b*Int(a/b-1/2)).<br />
8.3 Algoritmo <strong>de</strong> Eucli<strong>de</strong>s II.<br />
El algoritmo <strong>de</strong> Eucli<strong>de</strong>s encuentra el máximo común divisor <strong>de</strong> dos enteros. Este algoritmo usa<br />
divisiones y restas y está basado principalmente en <strong>la</strong>s i<strong>de</strong>ntida<strong>de</strong>s<br />
mcd(a,b) = mcd(b, a − bq), mcd(r,0) = r,