27.12.2012 Views

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

SHOW MORE
SHOW LESS

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,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!