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

    }
}








Napište nám komentář ke příkladu a řešení (například pokud je stále něco nejasné ...):

0 komentářů:
1st comment
Buďte první, kdo napíše komentář!
avatar




K vyřešení tohoto slovní úlohy jsou potřebné tyto znalosti z matematiky:

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

Další podobné příklady:

  1. Strom
    apples_2 Kolik jablek bylo původně na stromě, jestliže první den spadla třetina, druhý den čtvrtina zbytku a na stromě zůstalo 45 jablek?
  2. Logická
    hospital Jirku v nemoci navštívili 3 kamarádi, každý v jiný den. Zjistěte, který den kdo přišel a co vyřizoval. Přišli ve třech dnech v týdnu jdoucích za sebou. První přišel v úterý. Karel v úterý nepřišel. Mirek vyřizoval změnu termínu treninku, Ve středu n
  3. 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.
  4. Každý každému
    post_1 Sedm přátel se dohodne, že každý každému pošle pohlednici z dovolené. Kolik pohlednic bylo odeslaných?
  5. Číslice sedm
    seven Kolik existuje trojmístných přirozených čísel ve kterých se nevyskytuje číslice 7?
  6. Farma2
    pecene_kure Na farmě chovají krocany, husy, slepice a kuřata. Všech je 400. Krocanů a hus je 150. Žádná slepice nevyseděla více než jedno kuře, některé nevyseděly žádné. Polovina z nich je zároveň čtvrtinou z kuřat. Když od krocanů odečteme 15, dostaneme 75. Kolik je
  7. Veselá chodidla
    klokan Na planetě veselá chodidla má každý muž levou nohu o 2 čísla větší než pravou ženy mají levou o 1 číslo větší. Boty se tam prodávají v párech o stejné velikosti. Kamarádi chtěli ušetřit peníze proto si boty koupili společně když si každý vybral pro sebe j
  8. Závorky
    casino_1 Doplň do výrazu 1 + 2x3 - 4x5 : 6 a/jeden pár závorek, tak aby výsledek byl co největší b/jeden pár závorek, tak aby výsledek byl co nejmenší
  9. Magické číslo 135
    prof_einstein_1 Číslo 135 rozložte na dva sčítance tak, aby jeden sčítanec byl o 30 větší než 2/5 druhého sčítance.
  10. Myška
    mouses myška hryzka má 27 krychliček, které k sobě poskládala do velké krychle. Potom na každé straně vyhryzala prostřední krychličku a ještě krychličku uprostřed. Myška má 4 děti. potom podélně krychly rozřeše. Kolik krychlí a jaký tvar dostanou 4 myšky?
  11. Liga
    football_1 V 2nd fotbalové lize hraje každý z 16 účastníků s každým soupeřem dvakrát. Za každé vítězství získává 3 body, za remízu 1 bod, za porážku žádný. Po skončení soutěže byl oddíl se 54 body a 12 porážkami na 9th místě. Kolikrát zvítězil?
  12. Strany knihy
    books_2 Lenka vypočítala, že bude-li číst denně 16 stran knihy, přečte knihu o den dříve, než kdyby četla denne pouze 14 stran. Kolik stran má kniha?
  13. Knoflíky
    knofliky Na košili je 6 knoflíků, na halence 4 knoflíky. Všech knoflíků je 176. Košilí a halenek je dohromady 36. Kolik je košil a kolik halenek?
  14. Jablka 3
    jablka_10 Babička měla jablka, když jich sedm dala dědovi, měli oba stejně. když dal děda pět jablek babičce, měla jich 3x víc než děda. Kolik jablek měl každý původně?
  15. Hřiby
    mushrooms-01 Za pět dní jsme nasbírali 410 hřibů. Zajímavé je, že každý den jsme nasbírali o 10 hřibů více než v přecházející den. Kolik hřibů jsme nasbírali během 4.dňa?
  16. Buchty
    buchty_1 V jídelně u jednoho stolu sedí Tomáš, Filip a Martin. Celkem snědli 36 buchet. Kolik buchet snědl každý sám, pokud Filip snědl dvakrát více než Tomáš a Martin ještě o polovinu více než Filip?
  17. Tramvaj
    tramvaj-skoda V trojdílné tramvajové soupravě jelo 206 cestujících před ostatními, 226 za ostatními, a uprostřed jela polovina všech. Kolik jelo cestujících celkem?