Marcin Żuchelkowski

Marcin Żuchelkowski informatyk,
freelancer ... piszę
na prawie każdy
temat i ...

Temat: zagadka eintseina ...

5 ludzi różnych narodowości zamieszkuje 5 domów w 5 różnych kolorach. Wszyscy palą papierosy 5 różnych marek i piją 5 różnych napojów. Hodują zwierzęta 5 różnych gatunków. Który z nich hoduje rybki?

1. Norweg zamieszkuje pierwszy dom
2. Anglik mieszka w czerwonym domu.
3. Zielony dom znajduje się bezpośrednio po lewej stronie domu białego.
4. Duńczyk pije herbatkę.
5. Palacz Rothmansów mieszka obok hodowcy kotów.
6. Mieszkaniec żółtego domu pali Dunhille.
7. Niemiec pali Marlboro.
8. Mieszkaniec środkowego domu pija mleko.
9. Palacz Rothmansów ma sąsiada, który pija wodę.
10. Palacz Pall Malli hoduje ptaki.
11. Szwed hoduje psy.
12. Norweg mieszka obok niebieskiego domu.
13. Hodowca koni mieszka obok żółtego domu.
14. Palacz Philip Morris pija piwo.
15. W zielonym domu pija się kawę.

Zakłada się, że domy ustawione są w jednej linii (1-2-3-4-5), a określenie "po lewej stronie" w punkcie 3. dotyczy lewej strony z perspektywy naprzeciw tych domów (tj. dom o numerze n jest bezpośrednio po lewej stronie domu n+1)
Marcin Żuchelkowski

Marcin Żuchelkowski informatyk,
freelancer ... piszę
na prawie każdy
temat i ...

Temat: zagadka eintseina ...

next_to(X, Y, List) :- iright(X, Y, List).
next_to(X, Y, List) :- iright(Y, X, List).

iright(L, R, [L | [R | _]]).
iright(L, R, [_ | Rest]) :- iright(L, R, Rest).

einstein(Houses, Fish_Owner) :-
=(Houses, [[house, norwegian, _, _, _, _], _, [house, _, _, _, milk, _], _, _]),
member([house, brit, _, _, _, red], Houses),
member([house, swede, dog, _, _, _], Houses),
member([house, dane, _, _, tea, _], Houses),
iright([house, _, _, _, _, green], [house, _, _, _, _, white], Houses),
member([house, _, _, _, coffee, green], Houses),
member([house, _, bird, pallmall, _, _], Houses),
member([house, _, _, dunhill, _, yellow], Houses),
next_to([house, _, _, dunhill, _, _], [house, _, horse, _, _, _], Houses),
member([house, _, _, _, milk, _], Houses),
next_to([house, _, _, marlboro, _, _], [house, _, cat, _, _, _], Houses),
next_to([house, _, _, marlboro, _, _], [house, _, _, _, water, _], Houses),
member([house, _, _, winfield, beer, _], Houses),
member([house, german, _, rothmans, _, _], Houses),
next_to([house, norwegian, _, _, _, _], [house, _, _, _, _, blue], Houses),
member([house, Fish_Owner, fish, _, _, _], Houses).

Tutaj jest odpowiedź SWI-Prologa.

1 ?- consult('einstein').
% /tmp/einstein compiled 0.00 sec, 4,740 bytes

Yes
2 ?- einstein(Houses, Fish_Owner).

Houses = [[house, norwegian, cat, dunhill, water, yellow],
[house, dane, horse, marlboro, tea, blue],
[house, brit, bird, pallmall, milk, red],
[house, german, fish, rothmans, coffee|...],
[house, swede, dog, winfield|...]]

Fish_Owner = german

Yes
3 ?-
Marcin Żuchelkowski

Marcin Żuchelkowski informatyk,
freelancer ... piszę
na prawie każdy
temat i ...

Temat: zagadka eintseina ...

Jeśli zagadkę Eisteina rozwiązałeś w pamięci to nadajesz się do Mensy. Wg. Einsteina zagadkę tą w pamięci rozwiązuje 2% populacji. :DDD

Następna dyskusja:

Zagadka z testu na IQ ... (...




Wyślij zaproszenie do