Mathe in 4.5 f)

Ich glaube ich bin dum

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Mathe in 4.5 f)
Liebe Mathe cracks hier,

leider hab ich hart kein Hirn. Deshalb tue ich mir generell schwer geschickt zu kombinieren. Ich wäre schon in der Grundschule fast wegen Mathe durchgefallen. Eigentlich dachte ich, in der Informatik rechnet der Computer für mich. Doch weit gefehlt!

Mir fehlt jeglicher Ansatz, um den Hinweis aus der Teilaufgabe 4.5 f) mit der gegebenen Gleichung 2 zu kombinieren. Ich habe schon alles versucht. Die zeitlich inzwischen ganz passende Mitternachtsformel konnte mir genauso wenig weiterhelfen, wie eine Primfaktorzerlegung oder wildes Ausklammern. Das Ausklammern hat mich knapp am Ziel vorbeigeführt, und ich kam zu einem - vermutlich auf allen Ebenen falschen - Ergebnis, das nur zwei Multiplikationen statt der geforderten drei benötigt.

Bei einem letzten verzweifelten Versuch, die Testcases zu reverse-engineeren, muss auch meine letzte intelligente Hirnzelle elendig verendet sein. Ich hoffe, es gibt hier auch noch andere Blödioten wie mich. Noch cooler wäre natürlich ein Mathe Genie/in, das uns alle an seiner/ihrer geistigen Überlegenheit teilhaben lassen kann.


Aus der Testklasse kannst du folgendes entnehmen: In writtenMul3 wird nacheinander folgendes aufgerufen:

  1. writtenMul3(x1, y1)

  2. writtenMul3(x0+x1, y0+y1)

  3. writtenMul3(x0, y0)

  4. und 3) sind ja identisch wie bei writtenMul4. 2) jedoch nicht. Statt dich nun verkrampft mit Formeln herumzuschlagen, auszuklammern, etc. empfehle ich dir, es evtl. mit einfacher Multiplikation im Dezimalsystem mit beliebigen Zahlen zu simulieren und zu schauen was du mit 2) tun musst. Alternativ ausprobieren. Wichtig: du darfst keine weiteren Rekursionsaufruf verwenden.

PS: Mit zwei Rekursionsaufrufen ist es tatsächlich möglich (beim Ausprobieren entdeckt), jedoch nicht gefordert. :wink:


oder einfacher als ausprobieren ist einfach ausmultiplizieren: (x0 + x1) * (y0 + y1) = x0y0 + x0y1 + x1y0 + x1y1. Hier erkennst du dann, dass x0y0 = low, x1y1 = high und x0y1 + x1y0 = mid. Also wenn du high und low und das Ergebnis der Multiplikation, kannst du dir mid nur mit - und + ausrechnen. Also hast du nur 3 Rekursionsaufrufe. Wichtig ist dann nur noch, dass damit die Tests funktionieren, erst high, dann (x0 + x1) * (y0 + y1) und dann low ausgerechnet werden muss.