Znáte telefonické ověření hesla tak, jak je například na zákaznických linkách bank?
A: "Zadejte druhé, třetí a šesté písmeno Vašeho hesla."
B: "PRD" (v případě, že heslo zní OPRAVDU)
Rozluštění odchycených odpovědí na podobné otázky je téma problému č. 79. Pokusím se nastínit myšlenku řešení.
Předpoklady: Čísla v tajném hesle se neopakují a v daných odpovědích jsou použita všechna čísla z hesla.
1. Nejdřív slovníkem zjistíme, které znaky bude heslo obsahovat.
2. Vytvoření porovnávací funkce (dvou argumentů, samozřejmě), která určí vztah mezi pozicemi jednotlivých čísel v hesle na základě daných odpovědí. K výsledku tato funkce dospěje součtem porovnání indexů předaných čísel. Například mezi čísly 1 a 9 bude hodnota vztahu -6, to znamená, že v odpovědích je šestkrát 1 před 9 (čtyři odpovědi 319, 129 a 719).
3. Setřízení znaků hesla pomocí porovnávací funkce.
Kód řešení.
úterý 3. srpna 2010
Přihlásit se k odběru:
Komentáře k příspěvku (Atom)

Žádné komentáře:
Okomentovat