StartseiteLogikrätselSchuhe über SchuheLösung

Lösung: Schuhe über Schuhe

Rätsel einblenden

Lösung

Ausblenden

Um die Lösung leichter darstellen zu können, blicken wir von oben auf den Kreis und nummerieren die Mädchen gegen den Uhrzeigersinn durch. In der Tabellendarstellung ist die Beziehung „rechts von“ dadurch intuitiv (abgesehen davon, dass Mädchen Nr. 1 rechts von Mädchen Nr. 5 steht).

Der nummerierte Kreis

Schritt 1

  1. Das Mädchen, das Pumps trägt, steht rechts neben Antonia.
  2. Antonia hat Schuhgröße 38.

Da es egal ist, wo im Kreis wir anfangen zu zählen, bekommt Antonia willkürlich die Nummer 3.

Position 1 2 3 4 5
NameAntonia
ModellPumps
Farbe
Größe38

Übrig: Clara, Elisabeth, Johanna, Leonie, Boots, High-Heels, Sandalen, Sneakers, Beige, Blau, Braun, Rot, Schwarz, 37, 39, 40, 41

Schritt 2

  1. Die Pumps haben Größe 41.
  2. Die braunen Schuhe haben Größe 38.
Position 1 2 3 4 5
NameAntonia
ModellPumps
FarbeBraun
Größe3841

Übrig: Clara, Elisabeth, Johanna, Leonie, Boots, High-Heels, Sandalen, Sneakers, Beige, Blau, Rot, Schwarz, 37, 39, 40

Schritt 3

  1. Das Mädchen mit der kleinsten Schuhgröße steht neben dem Mädchen mit der größten Schuhgröße.
Position 1 2 3 4 5
NameAntonia
ModellPumps
FarbeBraun
Größe384137

Übrig: Clara, Elisabeth, Johanna, Leonie, Boots, High-Heels, Sandalen, Sneakers, Beige, Blau, Rot, Schwarz, 39, 40

Schritt 4

  1. Die Sneakers sind größer als die Schuhe der Mädchen, die rechts und links der Sneakersträgerin stehen.
  2. Die High-Heels sind rot.
  3. Die Boots sind nicht braun.

Für Antonia bleiben also nur die Sandalen übrig.

Position 1 2 3 4 5
NameAntonia
ModellSandalenPumps
FarbeBraun
Größe384137

Übrig: Clara, Elisabeth, Johanna, Leonie, Boots, High-Heels, Sneakers, Beige, Blau, Rot, Schwarz, 39, 40

Schritt 5

  1. Rechts neben Elisabeth steht das Mädchen, das Sandalen trägt.
Position 1 2 3 4 5
NameElisabethAntonia
ModellSandalenPumps
FarbeBraun
Größe384137

Übrig: Clara, Johanna, Leonie, Boots, High-Heels, Sneakers, Beige, Blau, Rot, Schwarz, 39, 40

Schritt 6

  1. Leonie hat Schuhgröße 39.

Dies ist die einzige Position, die für Leonie jetzt noch übrig bleibt und damit steht auch die Position für Schuhgröße 40 fest:

Position 1 2 3 4 5
NameLeonieElisabethAntonia
ModellSandalenPumps
FarbeBraun
Größe3940384137

Übrig: Clara, Johanna, Boots, High-Heels, Sneakers, Beige, Blau, Rot, Schwarz

Schritt 7

  1. Die Sneakers sind größer als die Schuhe der Mädchen, die rechts und links der Sneakersträgerin stehen.

Diese Bedingung kann nur noch an einer Position erfüllt werden:

Position 1 2 3 4 5
NameLeonieElisabethAntonia
ModellSneakersSandalenPumps
FarbeBraun
Größe3940384137

Übrig: Clara, Johanna, Boots, High-Heels, Beige, Blau, Rot, Schwarz

Schritt 8

  1. Clara steht nicht neben dem Mädchen, das High-Heels trägt (und trägt selbst auch keine High-Heels).

Auch diese Bedingung kann nur noch an einer Position erfüllt werden. Damit bleibt nur noch eine Position für Johanna und die Boots übrig.

Position 1 2 3 4 5
NameLeonieElisabethAntoniaClaraJohanna
ModellHigh-HeelsSneakersSandalenPumpsBoots
FarbeBraun
Größe3940384137

Übrig: Beige, Blau, Rot, Schwarz

Schritt 9

  1. Clara trägt beige Schuhe.
  2. Die High-Heels sind rot.

Übrig ist dann nur noch die Farbe Blau.

Position 1 2 3 4 5
NameLeonieElisabethAntoniaClaraJohanna
ModellHigh-HeelsSneakersSandalenPumpsBoots
FarbeRotBraunBeige
Größe3940384137

Übrig: Blau, Schwarz

Ausblenden

Schritt 10

  1. Die Mädchen, die schwarze bzw. braune Schuhe tragen, stehen nebeneinander.

Position 1 2 3 4 5
NameLeonieElisabethAntoniaClaraJohanna
ModellHigh-HeelsSneakersSandalenPumpsBoots
FarbeRotSchwarzBraunBeigeBlau
Größe3940384137

Lösungssuche mit Prolog

Dieses Rätsel lässt sich gut mit Hilfe der logischen Programmiersprache „Prolog“ lösen:

  1. % rightOf(A, B, L)
  2. % Rechts von A steht B im Kreis K.
  3. rightOf(A, B, [A,B|_]).
  4. rightOf(A, B, [B,_,_,_,A]).
  5. rightOf(A, B, [_|R]) :- rightOf(A, B, R).

  6. % leftOf(A, B, L)
  7. % Links von A steht B im Kreis K.
  8. leftOf(A, B, L) :- rightOf(B, A, L).

  9. % nextTo(A, B, L):
  10. % A steht neben B.
  11. nextTo(A, B, L) :- rightOf(A, B, L); leftOf(A, B, L).

  12. % Implementierung des Raetsels
  13. raetsel :-
  14.   % Der Kreis
  15.   Kreis = [Eins, Zwei, Drei, Vier, Fuenf],
  16.   Eins = [Name1, Modell1, Farbe1, Groesse1],
  17.   Zwei = [Name2, Modell2, Farbe2, Groesse2],
  18.   Drei = [Name3, Modell3, Farbe3, Groesse3],
  19.   Vier = [Name4, Modell4, Farbe4, Groesse4],
  20.   Fuenf = [Name5, Modell5, Farbe5, Groesse5],

  21.   % Definition eines fixen Anfangspunkt (Name und Nummer beliebig)
  22.   Name3 = antonia,

  23.   % Definition der Groessen
  24.   permutation(
  25.   [Groesse1, Groesse2, Groesse3, Groesse4, Groesse5],
  26.   [37, 38, 39, 40, 41]
  27.   ),

  28.   % Definition der Farben
  29.   permutation(
  30.   [Farbe1, Farbe2, Farbe3, Farbe4, Farbe5],
  31.   [beige, blau, braun, rot, schwarz]
  32.   ),

  33.   % Das Maedchen, das Pumps traegt, steht rechts neben Antonia.
  34.   rightOf([antonia, _, _, _], [_, pumps, _, _], Kreis),

  35.   % Leonie hat Schuhgroesse 39.
  36.   member([leonie, _, _, 39], Kreis),

  37.   % Das Maedchen mit der kleinsten Schuhgroesse steht
  38.   % neben dem Maedchen mit der groessten Schuhgroesse.
  39.   nextTo([_, _, _, 37], [_, _, _, 41], Kreis),

  40.   % Die Sneakers sind groesser als die
  41.   % Schuhe der Maedchen, die rechts und links der
  42.   % Sneakerstraegerin stehen.
  43.   rightOf([_, sneakers, _, X], [_, _, _, Y], Kreis),
  44.   X > Y,
  45.   leftOf([_, sneakers, _, X], [_, _, _, Z], Kreis),
  46.   X > Z,

  47.   % Clara traegt beige Schuhe.
  48.   member([clara, _, beige, _], Kreis),

  49.   % Die Pumps haben Groesse 41.
  50.   member([_, pumps, _, 41], Kreis),

  51.   % Rechts neben Elisabeth steht das Maedchen, das
  52.   % Sandalen traegt.
  53.   rightOf([elisabeth, _, _, _], [_, sandalen, _, _], Kreis),

  54.   % Die High-Heels sind rot.
  55.   member([_, highheels, rot, _], Kreis),

  56.   % Die Maedchen, die schwarze bzw. braune Schuhe tragen,
  57.   % stehen nebeneinander.
  58.   nextTo([_, _, schwarz, _], [_, _, braun, _], Kreis),

  59.   % Die Boots sind nicht braun.
  60.   member([_, boots, F, _], Kreis),
  61.   F \= braun,

  62.   % Antonia hat Schuhgroesse 38.
  63.   member([antonia, _, _, 38], Kreis),

  64.   % Clara steht nicht neben dem Maedchen, das High-Heels
  65.   % traegt (und traegt selbst auch keine High-Heels).
  66.   leftOf([clara, M1, _, _], [_, M2, _, _], Kreis),
  67.   M1 \= highheels,
  68.   M2 \= highheels,
  69.   rightOf([clara, M1, _, _], [_, M3, _, _], Kreis),
  70.   M3 \= highheels,

  71.   % Die braunen Schuhe haben Groesse 38.
  72.   member([_, _, braun, 38], Kreis),

  73.   % Definition der Personen
  74.   permutation(
  75.   [Name1, Name2, Name3, Name4, Name5],
  76.   [antonia, clara, elisabeth, johanna, leonie]
  77.   ),

  78.   % Definition der Oberteile
  79.   permutation(
  80.   [Modell1, Modell2, Modell3, Modell4, Modell5],
  81.   [boots, highheels, pumps, sandalen, sneakers]
  82.   ),

  83.   % Loesung ausgeben
  84.   write(Kreis),
  85.   write('\n'),

  86.   % Weitere Loesungen suchen
  87.   fail.