//Autor: Karim Shedid Attifa Hole dir 6 Teller! //Wichtige Teller: //Teller 1: Die eingegebene Zahl, welche als Binärcode dargestellt werden soll. //Teller 2: Hilfsteller. Wird immer wieder auf 1 zurückgesetzt. //Teller 3: Hilfsteller, der zählt, um welche Potenz der 2 es sich in diesem Durchlauf handelt. //Teller 4: Hilfsteller. Wird immer wieder auf 0 zurückgesetzt. //Teller 5: Hilfsteller für eine Schleife mit 9 durchläufen. //Teller 6: Enthält die Zahl im Binärcode, welche schrittweise generiert wird. //Zahl, die in Binär dargestellt wird: Frag mich, wieviele Nudeln auf Teller 1 liegen sollen! Lege 1 Nudel auf Teller 2! Lege 1024 Nudeln auf Teller 4! Mache folgendes, mache folgendes, //Abfrage, ob das Zahlenlimit(0 bis 1023) des Datentypes eingehalten wird. //In jedem Durchlauf wird die größtmögliche Potenz der 2 gefunden, welche in Teller 1 passt. wiederhole folgendes, //Solange Teller 1 nicht leer ist. //Teller 2 wird so lange potenziert(2⁰,2¹,2²...) bis die kleinste Potenz gefunden ist, die größer als Teller 1 ist. //Teller 4 speichert die vorherige Zahl und damit die größtmögliche Potenz, welche kleiner als Teller 1 ist. wiederhole folgendes, //Solange Teller 1 voller oder gleich Teller 2 ist. nimm soviele Nudeln, wie auf Teller 4 liegen, von Teller 4, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 4, //Teller 4 mit Teller 2 füllen und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 2, //Teller 2 verdoppeln und lege 1 Nudel auf Teller 3, //Teller 3 enthält die eigentliche Potenz von Teller 2. solange Teller 2 nicht voller als Teller 1 ist, und nimm 1 Nudel von Teller 3, //Teller 3 wird um 1 verringert, um die Potenz von Teller 4 zu enthalten. und nimm soviele Nudeln, wie auf Teller 4 liegen, von Teller 1, //Teller 1 um den Betrag von Teller 4 verringern. und nimm soviele Nudeln, wie auf Teller 2 liegen, von Teller 2, //Teller 2 zurücksetzen. und lege 1 Nudel auf Teller 2, und nimm soviele Nudeln, wie auf Teller 4 liegen, von Teller 4, //Teller 4 zurücksetzen. und //Die binäre Zahl wird um eine 1 an der Stelle erweitert, die der Potenz von 2 entspricht. //Teller 2 enthält zunächst 1 Nudel und wird so oft mit 10 multipliziert, wie es der Potenz von Teller 3 entspricht. wiederhole folgendes, lege 9 Nudeln auf Teller 5, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 4, und wiederhole folgendes, //Teller 2 wird mit 10 multipliziert. lege soviele Nudeln,wie auf Teller 4 liegen, auf Teller 2, und nimm 1 Nudel von Teller 5, solange Teller 5 nicht leer ist, und nimm soviele Nudeln, wie auf Teller 4 liegen, von Teller 4, und nimm 1 Nudel von Teller 3, solange Teller 3 nicht leer ist, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 6, //Die neue 1 in der binären Zahl wird Teller 6 hinzugefügt. und nimm soviele Nudeln, wie auf Teller 2 liegen, von Teller 2, //Teller 2 zurücksetzen. und lege 1 Nudel auf Teller 2, solange Teller 1 nicht leer ist, wenn Teller 1 leerer als Teller 4 ist, //Teller 4 enthält für diesen Zweck 1024 Nudeln. wenn Teller 1 nicht leerer als Teller 3 ist! //Teller 3 ist im Moment der Abfrage leer. Verhindert negative Eingaben. Sag mir, wieviele Nudeln auf Teller 6 liegen! Bis bald!