Startseite → Logikrätsel → Die Band → Lösung
Lösung: Die Band
Lösung
Schritt 1
- Das zweite Bandmitglied von rechts spielt Violine.
- Udo befindet sich auf dem Platz links außen.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Lara, Olivia, Sara, 27 Jahre, 29 Jahre, 32 Jahre, 33 Jahre, 35 Jahre, Bass, Gitarre, Keyboard, Schlagzeug, Blau, Gelb, Grün, Pink, Rot
Schritt 2
- Der/die Gitarrist(in) steht auf einem der äußeren Plätze.
- Der/die Gitarrist(in) steht weiter links als die Person, die die blaue Hose an hat.
Rechts neben dem/der Gitarrist(in) befindet sich noch eine Person, also muss er/sie links außen stehen.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Lara, Olivia, Sara, 27 Jahre, 29 Jahre, 32 Jahre, 33 Jahre, 35 Jahre, Bass, Keyboard, Schlagzeug, Blau, Gelb, Grün, Pink, Rot
Schritt 3
- Der/die Träger(in) der grünen Hose ist 29 Jahre alt und befindet sich zwei Plätze weiter links als der/die Keyboarder(in).
- Die zweite Person von links ist jünger als 30 Jahre.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Lara, Olivia, Sara, 29 Jahre, 32 Jahre, 33 Jahre, 35 Jahre, Bass, Keyboard, Schlagzeug, Blau, Gelb, Grün, Pink, Rot
Schritt 4
- Der/die Bassist(in) hat eine rote Hose an.
- Die älteste Person befindet sich direkt rechts neben der Person, die die gelbe Hose an hat.
- Lara hat eine blaue Hose an.
- Die Person mit der pinken Hose befindet sich weiter rechts als Olivia.
Für die Person ganz links bleibt nur die grüne Hose übrig.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Lara, Olivia, Sara, 29 Jahre, 32 Jahre, 33 Jahre, 35 Jahre, Bass, Keyboard, Schlagzeug, Blau, Gelb, Pink, Rot
Schritt 5
- Der/die Träger(in) der grünen Hose ist 29 Jahre alt und befindet sich zwei Plätze weiter links als der/die Keyboarder(in).
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Lara, Olivia, Sara, 32 Jahre, 33 Jahre, 35 Jahre, Bass, Schlagzeug, Blau, Gelb, Pink, Rot
Schritt 6
- Der/die Schlagzeuger(in) sitzt direkt links neben Lara.
- Lara hat eine blaue Hose an.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Olivia, Sara, 32 Jahre, 33 Jahre, 35 Jahre, Bass, Gelb, Pink, Rot
Schritt 7
- Der/die Bassist(in) hat eine rote Hose an.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Harald, Olivia, Sara, 32 Jahre, 33 Jahre, 35 Jahre, Gelb, Pink
Schritt 8
- Harald, der 32 Jahre alt ist, hat keine rote Hose an.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Olivia, Sara, 33 Jahre, 35 Jahre, Gelb, Pink
Schritt 9
- Die Person mit der pinken Hose befindet sich weiter rechts als Olivia.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Übrig: Sara, 33 Jahre, 35 Jahre, Gelb
Schritt 10
- Die älteste Person befindet sich direkt rechts neben der Person, die die gelbe Hose an hat.
Platz von links | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Person | Udo | Olivia | Lara | Harald | Sara |
Alter | 29 Jahre | 27 Jahre | 35 Jahre | 32 Jahre | 33 Jahre |
Instrument | Gitarre | Schlagzeug | Keyboard | Violine | Bass |
Hosenfarbe | Grün | Gelb | Blau | Pink | Rot |
Lösungssuche mit Prolog
Dieses Rätsel lässt sich gut mit Hilfe der logischen Programmiersprache „Prolog“ lösen:
- % directlyleftof(A, B, L):
- % A steht in der Liste L direkt links von B.
- directlyleftof(A, B, [A, B | _]).
- directlyleftof(A, B, [_ | R]) :- directlyleftof(A, B, R).
- % directlyrightof(A, B, L):
- % A steht in der Liste L direkt rechts von B.
- directlyrightof(A, B, L) :- directlyleftof(B, A, L).
- % leftof(A, B, L)
- % A steht in der Liste L weiter links als B.
- leftof(A, B, [A | R]) :- member(B, R).
- leftof(A, B, [_ | R]) :- leftof(A, B, R).
- % rightof(A, B, L)
- % A steht in der Liste L weiter rechts als B.
- rightof(A, B, L) :- leftof(B, A, L).
- % Implementierung des Rätsels
- band :-
- % Definition der Sitzplätze
- Band = [Eins, Zwei, Drei, Vier, Fuenf],
- % Erste(r) von links
- Eins = [Person1, Alter1, Instrument1, Farbe1],
- % Zweite(r) von links
- Zwei = [Person2, Alter2, Instrument2, Farbe2],
- % Dritte(r) von links
- Drei = [Person3, Alter3, Instrument3, Farbe3],
- % Vierte(r) von links
- Vier = [Person4, Alter4, Instrument4, Farbe4],
- % Fünfte(r) von links
- Fuenf = [Person5, Alter5, Instrument5, Farbe5],
- % Definition der Alter
- permutation(
- [Alter1, Alter2, Alter3, Alter4, Alter5],
- [27, 29, 32, 33, 35]
- ),
- % Das zweite Bandmitglied von rechts spielt Violine.
- Instrument4 = violine,
- % Der/die Bassist(in) hat eine rote Hose an.
- member([_, _, bass, rot], Band),
- % Der/die Träger(in) der grünen Hose ist 29 Jahre alt ...
- directlyleftof([_, 29, _, gruen], X, Band),
- % ... und befindet sich zwei Plätze weiter links
- % als der/die Keyboarder(in).
- directlyleftof(X, [_, _, keyboard, _], Band),
- % Udo befindet sich auf dem Platz links außen.
- Person1 = udo,
- % Der/die Schlagzeuger(in) sitzt direkt links neben Lara.
- directlyleftof([_, _, schlagzeug, _], [lara, _, _, _], Band),
- % Der/die Gitarrist(in) steht auf einem der äußeren Plätze.
- member(gitarre, [Instrument1, Instrument5]),
- % Die älteste Person befindet sich direkt rechts neben
- % der Person, die die gelbe Hose an hat.
- directlyrightof([_, 35, _, _], [_, _, _, gelb], Band),
- % Lara hat eine blaue Hose an.
- member([lara, _, _, blau], Band),
- % Die Person mit der pinken Hose befindet sich weiter
- % rechts als Olivia.
- rightof([_, _, _, pink], [olivia, _, _, _], Band),
- % Harald, der 32 Jahre alt ist, hat keine rote Hose an.
- member([harald, 32, _, F1], Band),
- member(F1, [blau, gelb, gruen, pink]),
- % Der/die Gitarrist(in) steht weiter links als die Person,
- % die die blaue Hose an hat.
- leftof([_, _, gitarre, _], [_, _, _, blau], Band),
- % Die zweite Person von links ist jünger als 30 Jahre.
- Alter2 < 30,
- % Definition der Namen
- permutation(
- [Person1, Person2, Person3, Person4, Person5],
- [harald, lara, olivia, sara, udo]
- ),
- % Definition der Instrumente
- permutation(
- [Instrument1, Instrument2, Instrument3, Instrument4, Instrument5],
- [bass, gitarre, keyboard, schlagzeug, violine]
- ),
- % Definition der Hosenfarben
- permutation(
- [Farbe1, Farbe2, Farbe3, Farbe4, Farbe5],
- [blau, gelb, gruen, pink, rot]
- ),
- % Loesung ausgeben
- write(Band),
- write('\n'),
- % Weitere Loesungen suchen
- fail.