(((((((((((((((((((((((((((((((((()()()()()){})){}{}()){({}[()])}{})){}{})())())())())())())())())())()())[()])()())()())[()])()()())[()])()())())()())[()])()()())[()])()())())())())
Este código tiene una longitud de 182 bytes, y agregué 4 bytes para dos banderas de línea de comando: -r
y-u
Pruébalo en línea!
Muchas gracias a @Neil por este increíble metagolfer entero que creó esta dulce forma de impulsar 1488 (el punto de código del primer personaje)
(((((((()()()()()){})){}{}()){({}[()])}{})){}{})
Explicación:
Empujar un gran número de ataques cerebrales es relativamente difícil. Sin embargo, dado que el acto de presionar un número también se evalúa a ese número, podemos empujar varios números al mismo tiempo para obtener ahorros masivos en bytes. Aquí hay un ejemplo más concreto. La parte más interna (que escribí anteriormente) en el código psuedo es
push(1488)
Esta expresión se evalúa como 1488, por lo que envolvemos todo en otra declaración push:
push(push(1488) + 1)
Esto empuja a 1488 y 1489, además de evaluar a 1489. Así que concluimos esto:
push(push(push(1488) + 1) + 1)
que empuja 1488, 1489 y 1490, además de evaluar hasta 1490. Repita este paso para cada número que necesitemos empujar.
Sin embargo, dado que los incrementos no siempre son 1, es un poco más complicado que eso. Aquí hay una versión más legible:
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
#Push 1488
(((((((()()()()()){})){}{}()){({}[()])}{})){}{})
()) # + 1
())
())
())
())
())
())
())
())
()()) # + 2
[()]) # - 1
()()) # + 2
()())
[()]) # - 1
()()()) # + 3
[()]) # - 1
()()) # + 2
()) # + 1
()()) # + 2
[()]) # - 1
()()()) # + 3
[()]) # - 1
()()) # + 2
()) # + 1
())
())
1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1499, 1498, 1500, 1502, 1501, 1504, 1503, 1505, 1506, 1508, 1507, 1510, 1509, 1511, 1512, 1513, 1514
. No sé mucho sobre el hebreo, ¿podría confirmar que esto es intencional?