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. Vojíni
    regiment Je dána vzdálenost trasy 147 km, první den jede jeden oddíl cestu tam průměrnou rychlostí 12 km/h a cestu zpátky 21 km/h, druhý den jede druhý oddíl tu samou trasu průměrnou rychlostí 22 km/h tam i zpátky. Kterému oddílu bude cesta trvat déle?
  2. Svetr
    colours_3 Danka si plete svetr a má na výběr vlny sedmi barev. Kolika způsoby může vybrat tři barvy na rukávy?
  3. V jídelně
    cukriky_14 Kolik různých kombinací si můžeme zvolit, pokud v jídelně mají výběr 3 polévky, 5 druhů hlavní jídlo a 2 zákusky?
  4. Obdélníky
    rectangles2_2 Vystřihl jsem si dva obdélníky s obsahy 54 cm², 90 cm². Jejich strany jsou vyjádřené celými čísly v centimetrech. Pokud tyto obdélníky přiložím k sobě, dostanu obdélník s obsahem 144 cm². Jaké rozměry může mít tento velký obdélník? Napiš všechny možnosti.
  5. Ciferny součet
    cisla_7 Kolik je trojmístných čísel ktere maji ciferny součet 6?
  6. Autobus vs. vlak
    bus_vs_train Autobus vyjel z místa A o 10 minut dřív, než z téhož místa vyjel vlak. Autobus jel průměrnou rychlostí 49 km/h, vlak 77 km/h. Do místa B dojely vlak i autobus současně. Určetě dobu jízdy vlaku za předpokladu, že autobus i vlak ujely stejnou vzdálenost.
  7. Hodiny
    clocks2_19 Hodiny byly nastaveny přesně v 6:00 hod. Pokud jdou dopředu 3 1/2 minuty za hodinu, kolik hodin ukáží v 18:00 ve stejný den? Ukažte své řešení.
  8. Pohybovka3
    dragway Z Martina do Bratislavy jede auto rychlostí 76 km/h. Z Bratislavy do Martina vystartovalo auto rychlostí 53 km/h současně. Kolik minut před utkáním budou auta od sebe vzdáleny 19 km?
  9. Záhrada
    garden_1 Rozloha čtvercové zahrady tvoří 4/5 rozlohy zahrady tvaru trojúhelníku se stranami 24 m 15 m a 15 m. Kolik metrů pletiva potřebuji na oplocení čtvercové zahrady?
  10. Výkop
    vykop_ryha Pán Billy si vypočítal, že výkop pro vodovodní přípojku, vykope za 12 dní. Jeho kamarádovi by to trvalo 10 dní. 3 dny pracoval Billy sám. Potom mu přijel kámoš pomoci a kopal z druhého konce. Kolikátý den od začátku výkopových prací se setkali?
  11. Opice
    monkey Do studny hluboké 37 metrů spadla opice. Každý den se jí daří vyškrábat se 3 metry, v noci však spadne zpět o 2 metry. Na který den se opice dostane ze studny?
  12. Obchod
    pave Metr látky byl zlevněn o 2 USD. Nyní stojí 9 m látky stejně jako dřívě 8 m. Urči starou a novou cenu 1 m látky.
  13. Prémie
    moeny Hrubá mzda zaměstnance byla 1430 USD včetně 23% prémie. Kolik USD byly prémie?
  14. Krev
    krv V lidském těle je přibližně 7.2% hmotnosti těla krev. Kolik kilogramů krve je v těle člověka s hmotností 93 kg.
  15. Pohyb
    cyclist_1 Pokud půjdeš rychlostí 5.1 km/h, přijdeš na nádraží 37 minut po odjezdu vlaku. Pokud půjdeš na kole na stanici rychlostí 38 km/h, přijedeš na nádraží 38 minut před odjezdem vlaku. Jak daleko je vlakové nádraží?
  16. Dělníci
    forestry_workers V lese je zaměstnáno 45 dělníků sázením stromků. Při 7 hodinové práci denně by skončili práci za 43 dní. Po 18 dnech odejde 22 dělníků; za jaký čas dokončí sázení stromků ostatní, když od toho dne budou pracovat 11 hodin denně?
  17. Kořen
    root_quadrat Kořen rovnice ? je: ?