?<.!?)@
Pruébalo en línea!
O en un formato más legible,
? <
. ! ?
) @
Esto supera la solución actual de Hexagony de 11 bytes.
Explicación:
Si el primer número no es 0, el programa toma la siguiente ruta:
Esto lee el primer número y se bifurca a la derecha. Luego lee el segundo número, seguido de ajustar e intentar leer un tercero, pero eso no existe, por lo que lee 0. Esto se imprime y el programa termina (tenga en cuenta que si a> 0, ya que b no es negativo a + b> 0).
Si el primer número es 0, el programa toma la siguiente ruta para comenzar:
Esto lee el primer número y las ramas restantes. Toca la esquina, toma la ruta desde el borde noroeste porque el número es 0 y lee el segundo número. Se envuelve, luego incrementa el segundo número e imprime.
Rebota contra el <
, imprimiendo la segunda entrada incrementada nuevamente. Incrementa el valor y toma el borde noreste nuevamente, pero esta vez porque el borde actual es un valor no negativo incrementado dos veces que es definitivamente positivo. Luego intenta obtener una tercera entrada, pero recibe 0 en su lugar.
Finalmente se envuelve y se desvía con la flecha, luego intenta leer una cuarta entrada y obtiene 0 nuevamente. Se envuelve e intenta leer una quinta entrada y recibe 0 por última vez. Este se imprime y se envuelve a las @
salidas.
Tenga en cuenta que b * (10 ^ k + 1) * 10> 0 + b = b donde k es la longitud de b en dígitos, por lo que esto funciona.