01_jednoduche_algoritmy
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
NSD = „průnik“
126
2
3
3
7
NSN = „sjednocení“ 13860 2
2
3
3
5
7 11
vlk, koza, zelí
Má se převézt přes řeku po jednom. Nesmí však zůstat na jedné straně nebezpečná dvojice.
Nepovolené kombinace [v k], [k z]
algoritmus
Opakuj do vyřešení (všichni budou vpravo)
vezmi jednoho/dalšího zleva (ne toho, který se právě vrátil zprava)
pokud zůstala nepovolená kombinace, vrať se k předchozímu bodu
vezmi jednoho/dalšího zprava (přednostně nikoho; ne toho, který se právě přijel zleva)
pokud zůstala nepovolená kombinace, vrať se k předchozímu bodu.
Pro tuto úlohu bude fungovat. Obecně by mělo být přidáno:
pokud vyčerpáš všechny kombinace pro převoz a nenajdeš řešení, vrať se do stavu před předchozím
převozem.
Obecně by byla nutná kontrola, zda jsme v podobném stavu již nebyli - zacyklení
Misionáři a lidožrouti
Misionáři jsou rovnocenní. Lidožrouti jsou rovnocenní. Tj. nezáleží u nich na pořadí.
Na břehu jsou tři lidožrouti a tři misionáři. Mají se dostat na druhý břeh.
Loďka má dvě místa (jede tedy jeden nebo dva. Posádka může být smíšená, nebo stejnorodá)
řešení např. stromem (v každém uzlu pět možnosti převozu)
Výpočet odmocniny
- pomocí iterativní metody – n-tá odmocnina z A. Zvolí se počáteční odhad x a iteruje se tak
dlouho, dokud se nedosáhne požadované přesnosti:
ݔ =
1
݊
൭ሺ݊ − 1ሻݔ +
ܣ
ݔ
൱
- druhá odmocnina pomocí násobení
odmocnina daného čísla x, přesnost p
rad = 1
y = 0
zvyšuj rad v násobcích 10, dokud nenajdeš rad * rad > x
opakuj dokud abs(y * y – x) > p
sniž rad na rad / 10