09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

20.3. <strong>Programación</strong> dinámica 461<br />

<strong>en</strong>teros cualesquiera, y se trata ahora de dar el cambio óptimo para la cantidad<br />

C, <strong>en</strong>t<strong>en</strong>di<strong>en</strong>do por óptimo el que requiere el m<strong>en</strong>or número total de monedas. 6<br />

Una formulación sigui<strong>en</strong>do el esquema de programación dinámica es la sigui<strong>en</strong>te:<br />

si hay alguna moneda de valor igual a la cantidad total, el cambio<br />

óptimo es precisam<strong>en</strong>te con una moneda; de lo contrario, el primer paso consiste<br />

<strong>en</strong> escoger una moneda <strong>en</strong>tre las de valor m<strong>en</strong>or que la cantidad dada y esa<br />

elección debe minimizar el cambio de la cantidad restante:<br />

function NumMon(C: integer): integer;<br />

begin<br />

if alguna de las monedas v1, . . . , vn es igual a C th<strong>en</strong><br />

NumMon:= 1<br />

else<br />

NumMon:= 1 + mínvi

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

Saved successfully!

Ooh no, something went wrong!