24.02.2015 Views

zde - Univerzita Karlova

zde - Univerzita Karlova

zde - Univerzita Karlova

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Výpočet podle Hornerova schématu můžeme zapsat do tab. 1:<br />

5 −6 4 −5<br />

vbodě3 5 · 3=15 9 · 3=27 31 · 3=99<br />

5 15 − 6=9 27 + 4 = 31 93 − 5=88<br />

Tab.1: Průběh výpočtu podle Hornerova schématu<br />

V případě obecného polynomu stupně n potřebujeme při použití Hornerova<br />

schématu pro výpočet hodnoty v bodě 2n operací na rozdíl od 3n<br />

operací v případě normálního dosazování. Druhou výhodou Hornerova<br />

schématu je to, že se v něm obvykle vyskytují mnohem menší čísla než<br />

v případě běžného dosazování.<br />

Euklidův algoritmus<br />

Druhým algoritmem, který si představíme, je Euklidův algoritmus pro<br />

hledání největšího společného dělitele. Pomocí Euklidova algoritmu je<br />

možné vypočítat velice rychle největší společný dělitel dvou čísel bez<br />

toho, abychom znali jejich rozklad na prvočísla.<br />

Postup je velice jednoduchý: Vezmeme obě čísla a větší z nich nahradíme<br />

zbytkem po dělení většího čísla menším (popřípadě rozdílem většího<br />

a menšího čísla). Celý postup opakujeme, dokud jedno z čísel není nula.<br />

Potom druhé z čísel je hledaný největší společný dělitel zadaných čísel.<br />

Příklad. Nalezněte největší společný dělitel čísel 3 565 a 5 704.<br />

3 565 5 704<br />

3 565 2 139<br />

1 426 2 139<br />

1 426 713<br />

0 713<br />

Tab. 2: Průběh výpočtu podle Euklidova algoritmu<br />

Uvedený výpočet ukazuje (tab. 2), že největším společným dělitelem<br />

čísel 3 565 a 5 704 je číslo 713. Euklidův algoritmus je v porovnání<br />

s klasickým algoritmem, který využívá rozkladu čísla na prvočísla, výrazně<br />

rychlejší. Chtělo by se říci nesrovnatelně rychlejší, informatika nás<br />

128

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

Saved successfully!

Ooh no, something went wrong!