?<.!?)@
Probieren Sie es online!
Oder in besser lesbarem Format,
? <
. ! ?
) @
Dies übertrifft die aktuelle Hexagony-Lösung von 11 Bytes.
Erläuterung:
Wenn die erste Zahl nicht 0 ist, nimmt das Programm den folgenden Pfad:
Dies liest die erste Zahl und verzweigt sich nach rechts. Dann liest es die zweite Zahl, gefolgt von einem Zeilenumbruch und dem Versuch, eine dritte zu lesen, aber die existiert nicht, so dass sie 0 lautet. Dies wird gedruckt und das Programm beendet (beachte, dass wenn a> 0, da b nicht negativ ist, a + b> 0).
Wenn die erste Zahl 0 ist, folgt das Programm zunächst dem folgenden Pfad:
Dies liest die erste Zahl und die verbleibenden Zweige. Es kommt an die Ecke und nimmt die Route entlang der Nordwestkante, weil die Zahl 0 ist, und liest die zweite Zahl. Es bricht um, erhöht dann die zweite Zahl und druckt.
Es prallt gegen die <
und druckt die inkrementierte zweite Eingabe erneut. Es inkrementiert den Wert und nimmt die Nordostkante wieder auf, diesmal jedoch, weil die aktuelle Kante einen zweifach inkrementierten nicht negativen Wert aufweist, der definitiv positiv ist. Es wird dann versucht, eine dritte Eingabe zu erhalten, erhält jedoch stattdessen 0.
Schließlich wird es umgebrochen und durch den Pfeil umgeleitet, dann versucht es, eine vierte Eingabe zu lesen und erhält erneut 0. Es bricht ab und versucht, eine fünfte Eingabe zu lesen und erhält zum letzten Mal 0. Dies wird gedruckt und umbrochen @
und beendet.
Beachten Sie, dass b * (10 ^ k + 1) * 10> 0 + b = b ist, wobei k die Länge von b in Ziffern ist. Dies funktioniert also.