Logik

Písmenkový Logik je hra pre dvoch hráčov, ktorá má nasledujúce pravidlá:
1. Prvý hráč si myslí pětipísmenné slovo, v ktorom sa žiadne písmeno neopakuje.
2. Druhý hráč napíše nejaké 5-písmenné slovo.
3. Prvý hráč odpovie dvoma číslami - prvé číslo udáva, koľko písmen napísaného slova sa zhoduje s mysleným slovom, tzn. stojí tiež na správnom mieste; druhé číslo udáva, koľko písmen napísaného slova je obsiahnuté v myslenom slove, ale nestojí na správnom mieste.
4. Kroky 2 a 3 sa opakujú, kým druhý hráč myslenej slovo neuhádne.
Záznam jednej hry dvoch kamarátov vyzeral nasledovne:
SONET 1 2
MUDRC 0 2
PLAST 0 2
KMOTR 0 4
ATOLY 1 1
DOGMA 0 2

V nasledujúcom ťahu bolo myslené slovo uhádnuté. Určte, ktoré slovo
to bolo.

Poznámka:
Nami uvádzané riešenie obsahuje program v jazyku PHP, ktorý danú kombináciu písmen vyrieši - metódou hrubej sily, rýchlo a bezbolestne.

Výsledok

x = (Správna odpoveď je: STROM) Nesprávne

Riešenie:

x = STROM
function match($s1, $s2, $q, $w)
{
    $a = $b = 0;
    for($i=0;$i<5;$i++)
    {
        if($s1{$i} == $s2{$i})
        {
            $a++;
        }
        else
        {
            $b += strpos($s2, $s1{$i})!==false;
        }
    }

    return $a == $q && $b == $w;
}

for($a=65; $a<91; $a++)
{
    for($b=65; $b<91; $b++)
    {
        for($c=65; $c<91; $c++)
        {
            for($d=65; $d<91; $d++)
            {
                for($e=65; $e<91; $e++)
                {
                    $s=chr($a).chr($b).chr($c).chr($d).chr($e);
                    if(!match($s,"SONET", 1, 2)) continue;
                    if(!match($s,"MUDRC", 0, 2)) continue;
                    if(!match($s,"PLAST", 0, 2)) continue;
                    if(!match($s,"KMOTR", 0, 4)) continue;
                    if(!match($s,"ATOLY", 1, 1)) continue;
                    if(!match($s,"DOGMA", 0, 2)) continue;

                    echo $s;
                    exit;
                }
            }
        }

    }
}








Napíšte nám komentár ku príkladu a riešeniu (napríklad ak je stále niečo nejasné...):

Zobrazujem 0 komentárov:
1st comment
Buďte prvý, kto napíše komentár!
avatar




Na vyriešenie tohto príkladu sú potrebné tieto znalosti z matematiky:

Chceš si dať zrátať kombinačné číslo? Pozrite aj našu kalkulačku permutácií.

Ďaľšie podobné príklady:

  1. Hody kockou
    dices_4 Aká je pravdepodobnosť, že pri dvoch hodoch kockou: a) nepadne šestka ani raz b) šestka padne aspoň raz
  2. Hračky
    toys 3 deti si z krabice vytiahli 12 rôznych hračiek. Koľkými spôsobmi sa o ne môžu podeliť tak, aby každé malo aspoň jednu hračku?
  3. Šachy
    chess Koľkými možnými spôsobmi sa dá začať šachová partia (prvý ťah)?
  4. Trojmiestne čísla
    plot Koľko je trojciferných prirodzených čísel takých, že sa v nich žiadna číslica neopakuje?
  5. Cifry 4
    numbers2_18 Koľko je prirodzených čísel n väčších ako 4000, ktoré sú utvorené z cifier 0,1,3,7,9 pričom sa cifry neopakujú , b) Ako sa zmení počet prirodzených čísel tak, aby boli menšie ako 4000 a cifry sa môžu opakovať ?
  6. Klávesy
    klavesy Miško mal na poličke malé klávesy, ktoré vidíte na obrázku. Na bielych klávesoch boli vyznačené ich tóny. Klávesy našla malá Klára. Keď ich brala z poličky, vypadli jej z ruky a všetky biele klávesy sa z nich vysypali. Aby sa brat nehneval, začala je Klára
  7. Telefónne čísla
    old_phone Koľko rôznych 9-ciferných telefónnych čísel sa dá zostaviť z číslic 0,1,2,..,8,9 tak aby sa žiadna číslica neopakovala?
  8. Trojciferné čísla
    3digit Z číslic 1, 2, 3, 4, 5 utvor všetky trojciferné čísla tak, aby sa v nich neopakovala žiadna číslica a aby číslo bolo deliteľné číslom 2. Koľko je takých čísel?
  9. Tréningy
    tenis V tabuľke je harmonogram sobotňajších tenisových tréningov mladších žiakov počas zimnej halovej sezóny. Pred začiatkom letnej sezóny sa pripravuje nový harmonogram tréningov. Tomáš Kučera bude môcť trénovať len predpoludním, sestry Kováčové budú musieť tré
  10. Sedemsegmentovka
    7segment Lenka sa bavila tým, že vyťukávala na kalkulačke (sedemsegmentový displej) čísla, pričom používala iba číslice od 2 do 9. Zápisy niektorých čísel mali tú vlastnosť, že ich obraz v osovej alebo stredovej súmernosti bol opäť zápisom nejakého čísla. Určte poč
  11. Zasadací poriadok
    kupe_1 Koľkými spôsobmi sa môže posadiť 7 osôb na 2 stoličiek (napr. miestenky vo vlaku)?
  12. Trojciferné
    poker_hand_ranking Koľko je všetkých trojciferných čísel z číslic 2 0 4 6 8 (s/bez opakovania)?
  13. Dvojice
    dvojice Z piatich dievčat a štyroch chlapcov majú vybrať jednu dvojicu chlapec a dievča. A) Koľko je takýchto dvojíc CH+D? B) Koľko je dvojíc kde budú len chlapci CH+CH? C) Koľko je všetkých možných dvojíc?
  14. Logický príklad 2
    children_7 V skupine je 20 detí, každé dve deti majú iné meno. Je medzi nimi Alena a Jana. Koľkými spôsobmi môžeme vybrať 8 detí tak, aby medzi vybranými a) bola Jana b) bola Jana a Alena c) bolo aspoň jedno z dievčat Alena, Jana d) bolo najviac jedno z dievčat.
  15. Tábor
    diary Na konci tábora si 8 kamaráti navzájom vymenili adresy. Každý dal zvyšným 7 kamarátom svoju vizitku. Koľko adries si vymenili?
  16. Kombi-troj
    komb_triangle Na každej strane štvorca je vyznačených 10 rôznych bodov, mimo vrcholov štvorca. Koľko trojuholníkov možno zostrojiť z tejto množiny bodov, ak každý vrchol trojuholníka má ležať na inej strane štvorca?
  17. Zápas
    hokej Hokejový zápas skončil výsledkom 8:2. Koľko rôznych priebehov mohol mať?