Rozwiązanie zagadki o koniu, ośle i małpie

https://xpil.eu/hkm

Zadałem niedawno Czytelnikom blogu prościutką zagadkę o zwierzętach.

Chodziło o to, żeby z konfiguracji Koń - Osioł przejść do konfiguracji Koń - Małpa używając wyłącznie czterech możliwych przekształceń:

  1. Za Osła można wstawić Małpę, o tak: KO => KOM
  2. Całą kolejkę zwierzaków stojących za Koniem można zduplikować, o tak: KOOMMOOM ==> KOOMMOOMOOMMOOM ==> KOOMMOOMOOMMOOMOOMMOOMOOMMOOM i tak dalej
  3. Trzy stojące po sąsiedzku Osły można zastąpić jedną Małpą: KOOOMMOOMOOOO ==> KMMMOOMOM
  4. Dwie Małpy stojące obok siebie można usunąć z kolejki: KOMMOOOMMOMMMMOM ==> KOOOOOMMOM

Zagadka jest przewrotna, ponieważ nie da się jej rozwiązać.

A oto dlaczego:

Na początku zagadki mamy jednego Osła.
Na końcu ma zostać zero Osłów.
Zero jest podzielne przez trzy.
Jeden - nie jest.
Żadne z czterech podanych przekształceń nie zmienia podzielności przez trzy liczby Osłów: przekształcenia numer 1 i 4 nie zmieniają liczby Osłów, przekształcenie numer 2 podwaja ilość Osłów, a więc mnoży przez dwa. Mnożenie przez dwa liczby niepodzielnej przez trzy daje w wyniku inną liczbę również niepodzielną przez trzy. Z kolei przekształcenie numer 3 likwiduje trzy Osły z kolejki. Odjęcie trójki od liczby niepodzielnej przez trzy daje w wyniku inną liczbą niepodzielną przez trzy.

Krótko mówiąc ile byśmy nie kombinowali, NIGDY nie uzyskamy zera Osłów.

Wszystkich Czytelników próbujących bezskutecznie rozwiązać zagadkę metodami tradycyjnymi serdecznie przepraszam 😉

https://xpil.eu/hkm

7 komentarzy

  1. O właśnie, dlatego pisałem, że mi się graf za bardzo rozrasta, nie było możliwości udanej redukcji [p]osłów i/lub małp…

  2. Nie potrafiłem tak ładnie zdefiniować problemu, ale faktycznie po wczorajszym błędzie ćwiczyłem jeszcze przez dłuższą chwilę i doszedłem do miejsca w którym nie umiałem wygenerować tej cholernej trójki 😉
    Ale przynajmniej głową trochę człowiek poruszał 🙂

  3. To nie dobrze, że nie ma rozwiązania. Napisałem kawałek kodu [rekurencja] do sprawdzenia brute forcem, dałem ograniczenie do 25 poziomu zagnieżdżenia [powyżej tego pojawiały się błędy z pamięcią].
    I teraz nie wiem, czy kod jest dobry.

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.