(((((((((((((((((((((((((((((((((()()()()()){})){}{}()){({}[()])}{})){}{})())())())())())())())())())()())[()])()())()())[()])()()())[()])()())())()())[()])()()())[()])()())())())())
Этот код имеет длину 182 байта, и я добавил 4 байта для двух флагов командной строки: -r
и-u
Попробуйте онлайн!
Большое спасибо @Neil за этот удивительный целочисленный метаголфер, который создал этот приятный способ нажатия 1488 (кодовая точка первого символа)
(((((((()()()()()){})){}{}()){({}[()])}{})){}{})
Объяснение:
Толкать большое количество в мозговых злобах относительно сложно. Тем не менее, поскольку действие по увеличению числа также приводит к вычислению этого числа, мы можем одновременно нажать несколько чисел для значительной экономии байтов. Вот более конкретный пример. Самая внутренняя часть (которую я написал выше) в коде psuedo
push(1488)
Это выражение оценивается как 1488, поэтому мы завернем все это в другой оператор push:
push(push(1488) + 1)
Это подталкивает 1488 и 1489, а также оценку к 1489. Итак, мы завернем это:
push(push(push(1488) + 1) + 1)
который сдвигает 1488, 1489 и 1490, а также оценивает до 1490. Повторите этот шаг для каждого числа, которое нам нужно нажать.
Однако, поскольку приращения не всегда равны 1, это немного сложнее, чем это. Вот более читаемая версия:
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
#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
. Я не очень много знаю о иврите, так что вы могли бы подтвердить, что это действительно намеренно?