Logik

Písmenkový Logik je hra pro dva hráče, která má následující pravidla:
1. První hráč si myslí pětipísmenné slovo, v němž se žádné písmeno ne-
opakuje.
2. Druhý hráč napíše nějaké pětipísmenné slovo.
3. První hráč odpoví dvěma čísly — první číslo udává, kolik písmen na-
psaného slova se shoduje s myšleným slovem, tzn. stojí také na správ-
ném místě; druhé číslo udává, kolik písmen napsaného slova je obsa-
ženo v myšleném slově, ale nestojí na správném místě.
4. Kroky 2 a 3 se opakují, dokud druhý hráč myšlené slovo neuhodne.
Záznam jedné hry dvou kamarádů vypadal následovně:
SONET 1 2
MUDRC 0 2
PLAST 0 2
KMOTR 0 4
ATOLY 1 1
DOGMA 0 2

V následujícím tahu bylo myšlené slovo uhodnuto. Určete, které slovo
to bylo.

Poznámka:
Námi uváděné řešení obsahuje program v jazyce PHP, který danou kombinaci písmen vyřeší - metodou hrubé síly, rychle a bezbolestně.

Výsledek

x = (Správná odpověď je: STROM) Nesprávné

Řešení:

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;
                }
            }
        }

    }
}




Budeme velmi rádi, pokud najdete chybu v příkladu, pravopisné chyby nebo nepřesnost a ji nám prosím pošlete . Děkujeme!






Zobrazuji 0 komentářů:
avatar




Tipy na související online kalkulačky
Viz také naši kalkulačku permutaci.
Chceš si dát spočítat kombinační číslo?

Další podobné příklady a úkoly:

  • Slovo
    words Jaká je pravděpodobnost, že slovem náhodně sestaveným z písmen A, A, I, M, T, K bude MATIKA?
  • Slovo MATEMATIKA
    math_1 Kolik slov lze vytvořit ze slova MATEMATIKA změnou pořadím písmen přičemž neberiene ohled nato zda vzniklé slova mají význam?
  • Trojmístné PC
    numbers_7 Najdi počet všech trojmístných přirozených čísel, které se dají sestavit z číslic 1,2,3,4 a pro které platí současně ještě tyto podmínky: na místě jednotek je jedna z číslic 1,3,4, na místě stovek číslice 4 nebo 2
  • Slová
    words Kolik 3 písmeno "slov" je možné zapsat pomocí 14 písmen abecedy? a) n - bez opakování b) m - s opakováním
  • VKP rovnice
    combinatorics3 Řešte následující rovnici s variacemi, kombinacemi a permutace: 4 V(2,x)-3 C(2,x+ 1) - x P(2) = 0
  • Trojmístné čísla
    poker_hand_ranking Kolik je všech trojmístných čísel z číslic 2 0 4 6 8 (s/bez opakování)?
  • Telefonní čísla
    old_phone Kolik různých 9-místných telefonních čísel lze sestavit z číslic 0,1,2, .., 8,9 tak aby se žádná číslice neopakovala?
  • Heslo
    codes V rozvodně se každý den mění hlavní heslo, které se skládá z 3 písmen. Způsob generování kódu se však nemění a je založen na následujícím postupu: Následující písmena (A) až (I) odpovídají různým číslicím od 1 do 9. Pokud bychom písmena nahradili číslicem
  • Z6 – I – 6 MO 2019
    numbers_1 Majka zkoumala vícemístná čísla, ve kterých se pravidelně střídají liché a sudé číslice. Ta, která začínají lichou číslicí, nazvala komická a ta, která začínají sudou číslicí, nazvala veselá. (Např. Číslo 32387 je komické, číslo 4529 je veselé. ) Mezi tro
  • Každé
    DESSERTS Každé písmeno v anglickém slově STRESSED je vytištěno na stejných kartách, jedno písmeno na jedné kartě a je sestaveno v náhodném pořadí. Vypočítejte pravděpodobnost, že karty po sestavení budou hláskovat slovo DESSERTS.
  • Kolik
    numbers2_41 Kolik dvouciferných čísel větších než 30 můžete utvořit z číslic 0, 1, 2, 3, 4, 5? Číslice se v dvouciferném čísle nemohou opakovat.
  • Kartová hra
    cards_5 Každý ze tří hráčů si z balíku 54 karet vytáhne 3 vrchní karty a jednu kartu opět vrátí do balíku karet, a to odspodu. První, druhý a třetí hráč se pravidelně střídají. Ve kterém kole si první hráč opět vytáhne kartu, které se v prvním kole zbavil?
  • Čísla
    numbers_3 Kolik různých 4-ciferných přirozených čísel, v nichž se žádná číslice neopakuje, lze sestavit z číslic 0,1,2,3?
  • Nádoby
    nadoby Máme nádobu o obsahu 7litru,5litru a 2litry. Největší nádoba je naplněná tekutinou, ostatní jsou prázdné. Dokážeš pouze přeléváním získat 5litru a dvakrát po jednom litru tekutiny? Na kolik přelití to jde?
  • Kamarádi
    cinema_1 5 kamarádů šlo do kina. Kolika možnými způsoby se mohou usadit vedle sebe v jedné řadě, pokud jeden z nich chce sedět uprostřed a tím zbylým na místě nezáleží?
  • Šachy
    chess Kolika možnými způsoby se dá zahájit šachová partie (první tah)?
  • Hokej
    Hockey V hokejovém zápase padlo 6 gólů. Hráli Česko proti Finsku. Češi vyhráli 4:2. V jakém pořadí mohly padnout góly? Kolik bylo možných průběhů hry?