Ich persönlich kannte den Murmelrechner nicht, aber ich kann dir allgemein sagen, wie man das Problem lösen könnte: Du musst solange in Speicherzelle 1 UND Speicherzelle 0 eine Murmel drin ist, von beiden Speicherzellen eine Murmel entfernen. Am Ende sind entweder beide Speicherzellen leer, das Ergebnis ist also 0, oder eine der beiden Speicherzellen enthält noch n Kugeln. Da Speicherzelle 0 minus Speicherzelle 1 gerechnet werden soll, ist das Ergebnis positiv, wenn in Speicherzelle 0 noch Kugeln übrig sind, andernfalls ist das Ergebnis negativ, wenn nur noch in Speicherzelle 1 Kugeln übrig sind.
Pseudocode-Mäßig könnte das so aussehen:
Prüfe, ob in Speicherzelle 0 noch eine Murmel vorhanden ist:
Wenn ja, dann:
Prüfe, ob in Speicherzelle 1 noch eine Murmel vorhanden ist:
Wenn ja, dann entferne eine Murmel aus Speicherzelle 0 und eine Murmel aus Speicherzelle 1 und beginne wieder am Anfang
Wenn nein, dann beende den Vorgang
Wenn nein, dann prüfe, ob in Speicherzelle 1 noch eine Murmel vorhanden ist:
Wenn ja, dann lege eine Murmel in Speicherzelle 2
Wenn nein, dann beende den Vorgang
Ich habe jetzt einfach definiert, dass eine Murmel in Speicherzelle 2 bedeutet, dass das Ergebnis negativ ist, keine Murmel bedeutet dementsprechend, das Ergebnis ist positiv. Ist das Ergebnis 0, dann wird die Zahl positiv gewertet, daher die letzte Abfrage.
Schüler, Punkte: 455