Startseite → Logikrätsel → Ostereier → Lösung
Lösung: Ostereier
Lösung
Schritt 1
- Nach neun Minuten hat Julia ihre zwei Ostereier gefunden.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Luca, Mia, Paul, Blau, Gelb, Grün, Orange, Rot, Karos, Punkte, Sterne, Streifen, Wellen, 3, 4, 5, 6
Schritt 2
- Die gestreiften Eier wurden zwei Minuten, bevor Paul seine Ostereier fand, gefunden.
- Mia fand ihre Ostereier zwei Minuten, bevor die orangen Eier gefunden wurden.
- Isabell fand ihre Ostereier später als die Person, die gestreifte Eier gefunden hat.
- Luca fand seine Ostereier zwei Minuten, nachdem die mit einem Wellenmuster verzierten Eier gefunden worden waren.
Paul, Isabell und Luca können ihre Eier also nicht bereits nach drei Minuten gefunden haben.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Luca, Paul, Blau, Gelb, Grün, Rot, Karos, Punkte, Sterne, Streifen, Wellen, 3, 4, 5, 6
Schritt 3
- Paul hat drei Ostereier gefunden.
- Das Kind, das seine / ihre Eier zuerst fand, fand weniger als fünf Eier.
Übrig bleibt für Mia also nur die Möglichkeit, dass sie vier Eier gefunden hat.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Luca, Paul, Blau, Gelb, Grün, Rot, Karos, Punkte, Sterne, Streifen, Wellen, 3, 5, 6
Schritt 4
- Die gelben Eier wurden früher gefunden als die, die mit einem Karomuster verziert waren.
- Die mit einem Karomuster verzierten Eier wurden vier Minuten früher als die mit Sternen verzierten Ostereier gefunden.
Die mit einem Karomuster verzierten Eier müssen also nach spätestens 7 Minuten gefunden worden sein. Für die gelben Eier bleibt dann nur noch eine Möglichkeit übrig.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Luca, Paul, Blau, Grün, Rot, Karos, Punkte, Sterne, Streifen, Wellen, 3, 5, 6
Schritt 5
- Die roten Eier waren mit einem Wellenmuster verziert.
- Luca fand seine Ostereier zwei Minuten, nachdem die mit einem Wellenmuster verzierten Eier gefunden worden waren.
Für diese Kombination gibt es nur noch eine Möglichkeit.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Paul, Blau, Grün, Karos, Punkte, Sterne, Streifen, 3, 5, 6
Schritt 6
- Die gelben Eier wurden früher gefunden als die, die mit einem Karomuster verziert waren.
- Die mit einem Karomuster verzierten Eier wurden vier Minuten früher als die mit Sternen verzierten Ostereier gefunden.
Damit steht nun auch fest, wann die mit Karos und Sternen verzierten Eier gefunden wurden:
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Paul, Blau, Grün, Punkte, Streifen, 3, 5, 6
Schritt 7
- Die Eier mit einem Sternenmuster wurden später gefunden als die blauen Ostereier.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: Isabell, Paul, Punkte, Streifen, 3, 5, 6
Schritt 8
- Die gestreiften Eier wurden zwei Minuten, bevor Paul seine Ostereier fand, gefunden.
- Isabell fand ihre Ostereier später als die Person, die gestreifte Eier gefunden hat.
Damit muss Paul früher als Isabell fündig geworden sein.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: 3, 5, 6
Schritt 9
- Paul hat drei Ostereier gefunden.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Übrig: 5, 6
Schritt 10
- Das Kind, das sechs Ostereier gefunden hat, fand diese, bevor Luca seine Ostereier fand.
Zeit | 3 min | 5 min | 7 min | 9 min | 11 min |
---|---|---|---|---|---|
Kind | Mia | Paul | Isabell | Julia | Luca |
Farbe | Gelb | Orange | Blau | Rot | Grün |
Muster | Streifen | Punkte | Karos | Wellen | Sterne |
Anzahl | 4 | 3 | 6 | 2 | 5 |
Lösungssuche mit Prolog
Dieses Rätsel lässt sich gut mit Hilfe der logischen Programmiersprache „Prolog“ lösen:
- % directlybefore(A, B, L):
- % A steht in der Liste L direkt links von B.
- directlybefore(A, B, [A, B | _]).
- directlybefore(A, B, [_ | R]) :- directlybefore(A, B, R).
- % directlyafter(A, B, L):
- % A steht in der Liste L direkt rechts von B.
- directlyafter(A, B, L) :- directlybefore(B, A, L).
- % before(A, B, L)
- % A steht in der Liste L weiter links als B.
- before(A, B, [A | R]) :- member(B, R).
- before(A, B, [_ | R]) :- before(A, B, R).
- % after(A, B, L)
- % A steht in der Liste L weiter rechts als B.
- after(A, B, L) :- before(B, A, L).
- % Implementierung des Rätsels
- ostereier :-
- % Definition der Kombinationen
- Ostereier = [Drei, Fuenf, Sieben, Neun, Elf],
- % Nach 3 Minuten gefunden
- Drei = [3, Kind1, Farbe1, Muster1, Anzahl1],
- % Nach 5 Minuten gefunden
- Fuenf = [5, Kind2, Farbe2, Muster2, Anzahl2],
- % Nach 7 Minuten gefunden
- Sieben = [7, Kind3, Farbe3, Muster3, Anzahl3],
- % Nach 9 Minuten gefunden
- Neun = [9, Kind4, Farbe4, Muster4, Anzahl4],
- % Nach 11 Minuten gefunden
- Elf = [11, Kind5, Farbe5, Muster5, Anzahl5],
- % Definition der Anzahlen
- permutation(
- [Anzahl1, Anzahl2, Anzahl3, Anzahl4, Anzahl5],
- [2, 3, 4, 5, 6]
- ),
- % Paul hat drei Ostereier gefunden.
- member([_, paul, _, _, 3], Ostereier),
- % Die gelben Eier wurden früher gefunden als die, die mit
- % einem Karomuster verziert waren.
- before([_, _, gelb, _, _], [_, _, _, karos, _], Ostereier),
- % Nach neun Minuten hat Julia ihre zwei Ostereier gefunden.
- Neun = [9, julia, _, _, 2],
- % Die gestreiften Eier wurden zwei Minuten, bevor Paul
- % seine Ostereier fand, gefunden.
- directlybefore([_, _, _, streifen, _], [_, paul, _, _, _], Ostereier),
- % Die roten Eier waren mit einem Wellenmuster verziert.
- member([_, _, rot, wellen, _], Ostereier),
- % Mia fand ihre Ostereier zwei Minuten, bevor die orangen
- % Eier gefunden wurden.
- directlybefore([_, mia, _, _, _], [_, _, orange, _, _], Ostereier),
- % Die Eier mit einem Sternenmuster wurden später gefunden
- % als die blauen Ostereier.
- after([_, _, _, sterne, _], [_, _, blau, _, _], Ostereier),
- % Die mit einem Karomuster verzierten Eier wurden vier
- % Minuten früher als die mit Sternen verzierten Ostereier
- % gefunden.
- member([Z1, _, _, karos, _], Ostereier),
- member([Z2, _, _, sterne, _], Ostereier),
- Z2 is Z1 + 4,
- % Das Kind, das sechs Ostereier gefunden hat, fand diese,
- % bevor Luca seine Ostereier fand.
- before([_, _, _, _, 6], [_, luca, _, _, _], Ostereier),
- % Isabell fand ihre Ostereier später als die Person, die
- % gestreifte Eier gefunden hat.
- after([_, isabell, _, _, _], [_, _, _, streifen, _], Ostereier),
- % Das Kind, das seine / ihre Eier zuerst fand, fand weniger
- % als fünf Eier.
- Drei = [3, _, _, _, A2],
- A2 < 5,
- % Luca fand seine Ostereier zwei Minuten, nachdem die mit
- % einem Wellenmuster verzierten Eier gefunden worden waren.
- directlyafter([_, luca, _, _, _], [_, _, _, wellen, _], Ostereier),
- % Definition der Namen
- permutation(
- [Kind1, Kind2, Kind3, Kind4, Kind5],
- [isabell, julia, luca, mia, paul]
- ),
- % Definition der Farben
- permutation(
- [Farbe1, Farbe2, Farbe3, Farbe4, Farbe5],
- [blau, gelb, gruen, orange, rot]
- ),
- % Definition der Muster
- permutation(
- [Muster1, Muster2, Muster3, Muster4, Muster5],
- [karos, punkte, sterne, streifen, wellen]
- ),
- % Loesung ausgeben
- write(Ostereier),
- write('\n'),
- % Weitere Loesungen suchen
- fail.