Rätsel: Oma beim Einkauf

Update: Dienstag, 19. März

Home / RÄTSEL / Knobelaufgaben

Eine Oma bezahlt ihren Einkauf mit einem 100,- EUR Schein. 
Der Kassierer verwechselt beim Herausgeben Cents und Euros. Auf dem Heimweg verliert die Oma 5 Cent, ohne dies zu bemerken.
Zu Hause stellt sie fest, dass sie doppelt soviel Geld zurückerhalten hat, wie sie eigentlich hätte bekommen sollen.

Frage: Wie hoch war die Rechnung?

 

 

 

Wie gefällt dir dieses Rätsel mit der Rechnung von Oma? Hast du weitere Ideen oder Anmerkungen? Schreibe doch einen Kommentar...

Kommentare 23

nico (2012-07-09)
hallöle
wäre echt super wenn mann den lösungsweg mit einbringen könnte so das man es nachvollziehen kann wie man es rechnet ..

lg nico
Christoph (2013-05-04)
Also erstmal definieren wir das Eigentliche Rückgeld, das Oma erhalten sollte mit ER. Das tatsächliche Rückgeld, das sie erhalten hat mit TR. Dann die ¤ die sie eigentlich erhalten haben sollte mit e und die Cent die sie eigentlich erhalten sollte mit c. Demnach ist :
I. ER = e + c umgestellt c = ER - e
II. TR = e/100 + 100*c
Gleichung II ergibt sich daraus, dass der Verkäufer Euro und Cent vertauscht.
Wir wissen, dass die Oma denkt, sie habe tatsächlich doppelt so viel erhalten, wie sie hätte bekommen sollen demnach wäre eigentlich TR = 2*ER . Diese Gleichung ist aber aber falsch in Hinblick darauf, dass sie noch 5 Cent verloren hat von denen sich nichts weiß. Demnach ergibt sich:
III. 2*ER + 0.05 = TR
Nun einsetzen:
I. in II.: TR = e/100 + 100*(ER-e) = 100*ER - 99,99*e
diese in III.: 2*ER + 0,05 = 100*ER - 99,99*e
umgestellt: (99,99*e + 0,05)/98 = ER

Wir wissen, dass ER eine Zahl mit höchsten 2 Dezimalstellen ist, daher werden für e nun lustig zahlen eingesetzt um alle Kandidaten für ER zu finden. Es gibt nur Einen bei dem nicht mehr als 2 Dezimalstellen vorkommen und der ist bei e=31: ER=31,63.
c ist also 0,63 und TR = 63,31

Die letzte Gleichung ergibt sich aus dem Hinweis, dass Oma mit 100¤ zahlt also ist die Höhe der Rechnung = 100 - 31,63 = 68,37

Schwieriges Rätsel stimmt. Die Rechnung vorher sehr schön und tricky, aber doch ein blödes Ende, da man nur durch ausprobieren von 100(!!!!!) Möglichkeiten erst zum Ziel gelangt. Würde mich sehr interessieren ob man durch umstellen der Gleichung auch ohne ausprobieren zum Ziel gelangt, aber ich denke, dass es nicht möglich ist.

Also nächstes Rätsel….

Gruß, Christoph
Micha (2015-08-11)
Es geht auch ohne 100-faches Probieren:

Seien e die Anzahl der Euros und c die Anzahl der Cents des korrekten Rückgeldes.
e und c sind dabei ganze Zahlen zwischen 0 und 100.
In Cents gerechnet gilt laut Aufgabenstellung die Gleichung:
100*c+e-5=2*(100*e+c)
Diese Gleichung aufgelöst nach c ergibt
c=(199*e+5)/98 und weiter umgeformt
c=2*e+(3*e+5)/98.
Da c und e ganzzahlig sind, muss 3*e+5 durch 98 teilbar sein, also 3*e+5=98*x
bzw. umgeformt e=(98*x-5)/3 mit ganzzahligem x>0.
Da e<100 folgt sofort x<4 und wegen der Ganzzahligkeit von e entfallen x=2 und
x=3 und es bleibt nur x=1 und damit e=31. Oben eingesetzt folgt c=63.
Das korrekte Rückgeld betrug also 31,63€ und der Rechnugsbetrag damit 63,37€.

Beste Grüße
Micha
Ric (2016-08-31)
Die Aufgabe ist nicht eindeutig lösbar. Da nicht definiert ist um wieviel sich der Kassierer vertut, kann man seine Rückgabe beliebig wählen.
Beispiel: Rechnung beträgt 79,50 € Eigentliches Rückgeld 20,50 €
Kassierer gibt aber 58,95€ Euro zurück, Oma hat also tatsächlich 41,05 €.
Sie verliert 5 Cent und ihr bleiben 41€ . Auch das ist das doppelte von 20.50€ welches sie eigentlich hätte haben sollen.
Manchmal kann es so einfach sein...:-)
MH (2016-09-07)
Wird die Aufgabe vollständig und korrekt gelesen und verstanden ist sie eindeutig lösbar. Es heißt in der Aufgabe nämlich unter anderem: "Der Kassierer verwechselt beim Herausgeben Cents und Euros." Er gibt also statt x,y Euro y,x Euro heraus. In der Lösung hat der Kasierer anstelle 31,63 Euro eben 63,31 Euro heusgegeben. Das obige Beispiel mit 58,95 Euro anstelle von 20,50 Euro erfüllt schon mal nicht der Aufgabenstellung. Und wieso die Oma 41,05 Euro hat wenn ihr der Kasierer 58,95 Euro zurückgibt bleibt wohl auch das Geheimnis von Ric. :-((
peter (2016-10-01)
sie hat nur 100 euro dabei ? wenn ja dann ist das rätsel lösbar
Mike (2016-12-03)
Es gwht mit einem Gleichungssystem mit 2 Gleichungen und 2 Unbekannten.

Oma kauft ein für einen Betrag X. Damit wir Euros und Cent auseinanderhalten können teile ich X auf in x+0,01y. Dabei sind x,y ganze Zahlen zwischen 0 und 99. Sie hat also eingekauft für x Euro und y Cent.
Nach dem Einkauf sollte Oma in der Tasche haben: 100-x-0,01y oder, für die Aufteilung in Euro und Cent, (99-x) + 0,01(100-y). Hat sie aber nicht, denn der Kassierer hat verwechselt.
Tatsächlich in der Tasche hat Oma (100-y) + 0,01(99-x).
Dann verliert sie, ohne dass sie es je erfährt, 5 Cent, also bleiben in der Tasche (100-y) + 0,01(94-x)
Achtung, hierbei muss die Einschränkung gemacht werden, dass 99-x größer oder gleich 5 ist, also x kleiner oder gleich 94.
Oma kommt nach hause und stellt fest, dass sie doppelt so viel in der Tasche hat wie sie haben sollte, also mathematisch gesehen 100-y + 0,01(94-x) = 2 * (99-x-0,01(100-y)) = 2 * (99-x) -2 * 0,01(100-y).
Allerdings gibt es hier Fälle zu unterscheiden und Beschränkungen zu machen.
Cents: 2 * (100-y) kann größer als 100 sein. Ist das der Fall, so entsteht ein Übertrag, den ich zu den Euros dazutun muss, denn 100 Cent sind 1 Euro. Wenn ich diese 100 ct aber zu einem Euro mache, muss ich sie bei den Cents wieder abziehen. Ich muss also zwei Fälle betrachten. 2 * (100-y) < 100 und 2 * (100-y) >= 100. (Effektiv y>50 oder y<=50)
Euros: Ich muss wissen, ob ich einen Übertrag (+1) von Cents bekommen habe.
Fall 1: 2 * (100-y) < 100.
Gleichung 1 (Euros): 100-y = 2 * (99-x)
Gleichung 2 (Cents): 94-x = 2 * (100-y)
Auflösen 1. Gleichung ergibt y=2x-98, Einsetzen in die 2. Gleichung ergibt x=100,667. Dieses Ergebnis erfüllt aber nicht die Bedingung, dass x eine ganze Zahl kleiner 100 ist. Somit liefert dieser Fall keine Lösung.
Fall2: 2 * (100-y) >= 100
Gleichung 1 (Euros mit 1 Euro Übertrag): 100-y = 2 * (99-x) + 1
Gleichung 2 (Cents - 100 Cent Übertrag): 94 -x = 2 * (100-y) - 100
Auflösung 1. Gleichung ergibt y = 2x - 99. Einsetzen und Auflösen in der 2. Gleichung ergibt x = 68. Damit ist y = 37. Diese Möglichkeit erfüllt alle Bedingungen und ist somit Lösung.
Und siehe da, schon hast du dein Ergebnis. Oma hat für 68 Euro und 37 Cent eingekauft.
Armin (2017-01-11)
Nettes Rätsel, da hätte ich noch eine Erweiterung:
WIr nehmen an, dass Oma x Cent verloren hat (0<x<100 ohne Währung).
Wenn eine Lösung existiert (so dass alle Bedingungen erfüllt sind),
so erfüllt der Kaufbetrag K die Gleichung: K=0,34€ * x +66,67€.
Es genügt also x in die Gleichung einzusetzen (0,34€ * 5 + 66,67€ = 68,37€) ;-)

Achtung: es gibt auch Lösungen, wenn die Oma mehr als 99 Cent verliert, diese Liegen aber nicht mehr auf der Geraden.
Das hängt am vertauschen von Cent und Euro.
TeamMeikel (2017-01-30)
187 ist die lösung
hi (2017-02-28)
Nettes Rätsel, da hätte ich noch eine Erweiterung:
WIr nehmen an, dass Oma x Cent verloren hat (0<x<100 ohne Währung).
Wenn eine Lösung existiert (so dass alle Bedingungen erfüllt sind),
so erfüllt der Kaufbetrag K die Gleichung: K=0,34€ * x +66,67€.
Es genügt also x in die Gleichung einzusetzen (0,34€ * 5 + 66,67€ = 68,37€) ;-)

Achtung: es gibt auch Lösungen, wenn die Oma mehr als 99 Cent verliert, diese Liegen aber nicht mehr auf der Geraden.
Das hängt am vertauschen von Cent und Euro.
tTt (2017-05-18)
Ist irgendwie etwas seltsam. Wenn man mathematisch an so eine Aufgabe rangeht, dann sucht man sich erst einmal die Dinge die man weiß. Da dort steht, dass der Kassierer Euros mit Cent gerechnet hat dann war für mich eine Bedingung dass der Betrag den sie bekommen hatte bevor sie die 5ct verliert auch 100 mal mehr ist als das was sie eigentlich hätte bekommen sollen. Okay der Angestellte gibt ihr dann 2 Euro statt 2 cent raus (wenn er doch Euro und Cent verwechselt)

Also rechne ich mit dem Glauben ja so:
falsches Rückgeld - 0,05 = 2 * eigentliches Rückgeld
falsches Rückgeld = eigentliches Rückgeld * 100
somit: falsches Rückgeld - 0,05 = 2 * falsches Rückgeld
falsches Rückgeld= 0,0512blabla.... So gehts in die Hose und deckt sich nicht mit den anderen Gleichungen die man aufstellen kann.


und wenn man das als Bedingung nimmt kann die Aufgabe nicht gelöst werden.
Okay dass der Kassierer Euro und Cent verwechselt sollte nicht weiter beachtet werden. Wäre aber besser gewesen den Satz wegzulassen
eule (2017-05-31)
diese räsel sind sehr cool finde ich
Max steul (2017-06-01)
Viel zu schwer wirklich nur für harte nüsse
Lucas (2018-01-09)
sie bekommt 63,31Euro zurück
Walti (2018-11-30)
Hallo, da ich mit über 70 Jahren zu faul zum Rechnen bin: .. VB2010 hat mir geholfen = 4 min. Zeilen eintippen .. und 2 sec. PC rechnen lassen .. fertig


Dim a As Decimal = 0
z: a = a + 0.01
Dim b As Decimal = Int(a)
Dim c As Decimal = (a - b) * 100
Dim d As Decimal = (b * 0.01 + c - 0.05) * 0.5
Console.WriteLine(d) 'könnte weg ....
If a d Then
GoTo z
End If
Dim e As Decimal = 100 - d
Console.WriteLine()
Console.Write("Der Restbetrag war: ") 'könnte weg ....
Console.WriteLine(d)
Console.Write("Der Rechnungsbetrag war: ")
Console.WriteLine(e)
Console.ReadKey()
Heinz (2019-03-29)
Michas Lösung lässt sich noch etwas vereinfachen:
100*c+e-5=2*(100*e+c)
daraus wird
98c-5=199e
c ist also etwa doppelt so groß wie e. Wir führen eine neue Variable t ein:
c=2e+t
damit erhält man
98t-5=3e
und man sieht sofort, dass für t=1 diese Gleichung gelöst werden kann und man erhält
e=31 und c=63
lolipop (2020-03-27)
Bin ich die einzige , die einfach zu faul ist zum rechnen, wenn es zu schwer ist und immer nach dem ersten versuch die Lösung schaut??????????
lg lolipop :)
Gerhard Herder (2020-07-16)
Meines Erachtens kann es keine Lösung ohne Probieren geben. Dafür gibt es zu viele Variablen in der Gleichung aus falsches Rückgeld, verlorene 5 Cent und Verdopplung des wahren Rückgeldes. Ich habe die Variablen in 10er Euro, 1er Euro, 10er Cent und 1er Cent mit a, b, c und d bezeichnet. Dann kommt es zu folgender Gleichung:
10*a + 1*b + 0,1*c + 0,01*d - 0,05 = 2*(10*c +1*d + 0,1*a + 0,01*b)

Das Verhältnis von a zu c ist noch eindeutig. Es gilt:

a = 2*c

Die weitere Berechnung erfolgt von der Cent-Stelle, Da 2*b = d sein soll, aber zuvor 2*d = b sein sollte (jeweiliger Vergleich der einzelnen Stellen), muss es bei 0,01*d -0,05 einen Übertrag geben. Da b verdoppelt wird, ist das Ergebnis eine gerade Zahl.
Da aber 0,01*d - 0,05 dann auch eine gerade Zahl sein muss, muss d eine ungerade Zahl sein. Sie muss auch kleiner als 5 sein. Dann kommen nur noch 1 und 3 in Frage.
Es wird die 1 erprobt. Dabei werden in allen Dezimalstellen natürliche Zahlen verwendet. Dann gilt:

2*b = 10 + d - 5 = 5 + 1 = 6
b = 3

Auch in der nächsten Dezimalstelle muss es zu einem Übertrag gekommen sein, da sonst der Vergleich der gleichen Stellen nicht stimmt. Es ist zu berücksichtigen, dass dem c schon 1 entnommen wurde. Dann gilt:

10 + (c-1) = 2*a

Zuvor wurde schon festgestellt, dass 2*c = a ist. Dann gilt:

10 + c - 1 = 4*c

9 = 3*c

c = 3 und

a = 6

Jetzt sind alle Positionen bekannt. Das wahre Rückgeld ist 31,63€. Oma hat demzufolge für 68,37€ eingekauft.
Bitte um Kommentierung meiner Berechnung.
(P.S.: mit d = 3 kommen keine natürlichen Zahlen in den Dezimalstellen zustande)
Walti (Wolfratshausen) (2021-01-20)
Hallo!

In meiner Lösung vom 30.11.18 mit VB2010 hat sich ein Fehler eingeschlichen: Ein "" fehlt ..sorry. Nach wie vor: Eine schöne Aufgabe! Danke!
Und jetzt der richtige Befehlssatz:


Sub Main()
Dim a As Decimal = 0
z: a = a + 0.01
Dim b As Decimal = Int(a)
Dim c As Decimal = (a - b) * 100
Dim d As Decimal = (b * 0.01 + c - 0.05) * 0.5
Console.WriteLine(d) 'könnte weg ....
If a d Then
GoTo z
End If
Dim e As Decimal = 100 - d
Console.WriteLine()
Console.Write("Der Restbetrag war: ") 'könnte weg ....
Console.WriteLine(d)
Console.Write("Der Rechnungsbetrag war: ")
Console.WriteLine(e)
Console.ReadKey()
End Sub


Falls das jetzt wieder fehlt:

If a d Then
If a "kleiner als_größer als" d Then
Thomas (2021-05-14)
Mein Lösung in C# ^^
for (int euro = 500; euro < 9900; euro += 100)
for (int cent = 1; cent < 100; cent++)
if (2 * (euro + cent) == ((euro) / 100) - 5 + (cent) * 100)
Response.Write($@"{ 100 - ((decimal)(euro + cent) / 100)} €");
Michael (2022-04-22)
Die richtige Rückzahlung seien E Euro und C Cent.
Da der Betrag sich nach dem Tausch von Euro und Cent verdoppelt, muss E < C sein. Damit muss beim Verdoppeln des Betrags C einen Übertrag von 1 Euro erzeugen.

Damit muss

2 * E + 1 = C (1)

sein.

Außerdem muss beim Verdoppeln von C der Centwert der Verdopplung um 5 größer sein als E.

2 * C -100 = E + 5
2 * C - 95 = E (2)

Jetzt wird (1) in (2) eingesetzt.

2 * (2 * E + 1) - 95 = E
4 * E +2 -95 = E
3 * E - 93 = 0
3 * E = 93
E = 31

Aus (1) ergibt sich C = 2 * 31 + 1 = 63

Der richtige Betrag der Rückzahlung ist dann 31,63.

Der Rechnungsbetrag ist 100 - 31,63 = 68,37
Bartoschka (2022-12-19)
Geht auch viel einfacher....
Sozialamt Essen (2022-12-19)
Ein nettes Rätsel, um die Zeit rumzukriegen

 

Neuen Kommentar schreiben: