Ваша задача распечатать этот точный текст:
אבגדהוזחטיכךלמםנןסעפףצץקרשת
(Вы можете распечатать завершающий перевод строки)
Хэш SHA256 кодировки текста UTF-8:
0ab6f1e0bf216a0db52a4a5a247f95cba6f51496de7a24dfd01f3985dfcf6085
Кодировка Base64:
15DXkdeS15PXlNeV15bXl9eY15nXm9ea15zXnted16DXn9eh16LXpNej16bXpden16jXqdeq
правила
- Вы не можете использовать встроенный вывод этого текста.
- Стандартные лазейки запрещены.
- Это код-гольф , поэтому выигрывает самый короткий ответ.
Удачи!
code-golf
kolmogorov-complexity
unicode
TuxCrafting
источник
источник
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
. Я не очень много знаю о иврите, так что вы могли бы подтвердить, что это действительно намеренно?print(map(chr, range(x, y)))
echo 15DXkdeS15PXlNeV15bXl9eY15nXm9ea15zXnted16DXn9eh16LXpNej16bXpden16jXqdeq | base64 -d | sha256sum
производитf1d4b9c12a197912a4bdb80fb3e4d3fad5a0d9b7edd243fae7b2ab3450618036
.Ответы:
MATLAB,
5251 байтПример использования:
объяснение
'CCCCCCCCCDADDAEADCDAEADCCC'-66
создает массив[1 1 ... -1 2 1 1 1]
, который содержит последовательные различия между кодовыми точками нужных символов.[1488 ...]
prepends1488
, так что массив сейчас[1488 1 1 ... -1 2 1 1 1]
.cumsum(...)
вычисляет накопленную сумму:[1488 1489 ... 1514]
.[... '']
объединяется с пустой строкой. Это имеет эффект преобразования в символ (и на один байт короче, чемchar(...)
)источник
Желе ,
222120 байтПопробуйте онлайн!
идея
Если мы вычтем 1487 из каждой кодовой точки, мы получим массив R, который следует.
Это просто диапазон от 1 до 27 , но не в порядке возрастания; пары (11, 12) , (14, 15) , (16, 17) , (20, 21) и (22, 23) поменялись местами.
Если мы возьмем возрастающий диапазон и добавим 2 к 11 , 14 , 16 , 20 и 22 , мы получим массив A, который следует.
Это больше не перестановка диапазона, но если мы стабильно сортируем диапазон по значениям в этом массиве, мы можем восстановить исходный массив.
Код
источник
PowerShell v2 +, 58 байт (UTF-16)
PowerShell Unicode - это UTF-16, если явно не указано иное, и, в любом случае, это колыбель, поскольку все это UTF-16 в фоновом режиме.
Это просто помещает буквенную строку в конвейер, и значение
Write-Output
по умолчанию в конце выполнения программы выводит ее на экран.Самая короткая версия ASCII, которую я смог получить, - 63
Который принимает значение ASCII строки
ABC...
и добавляет1423
к каждому,char
чтобы получить соответствующую строку.источник
05AB1E ,
3629262523 байтаСохранено 2 байта благодаря Аднану
Использует кодировку CP-1252 .
Попробуйте онлайн!
объяснение
источник
1488•’ÉÇW–moû•5Bvy<+Dç?
.Brain-Flak , 172 байта
Этот ответ основан в основном на одном решении DJMcMayhem, поэтому я рекомендую вам проверить его.
Как и решение DJMcMayhem, он использует
-rA
флаг для обратного вывода и печати в Unicode.Попробуйте онлайн!
объяснение
Я сделал этот ответ, выполнив несколько микрооптимизаций по сравнению с оригинальным решением, предоставленным DJMcMayhem. Эти оптимизации при сохранении байтов делают код нечитаемым, а алгоритм - тупым. Я, честно говоря, не очень понимаю, как и что делает мой код.
Возможно, когда-нибудь я пойму, как это работает ...
источник
Python 3, 50 байт
Файл должен быть создан с использованием кодировки CP862 или путем обращения следующего шестнадцатеричного значения.
Вероятно, это может быть перенесено в Python 2 (таким образом, сохраняя два байта), но у меня нет нужной локали для тестирования. Python 3 покорно печатает версию алфавита в кодировке UTF-8 (или любую другую, подходящую для текущей локали).
верификация
источник
CJam , 23 байта
Попробуйте онлайн!
Как это работает
источник
Brain-Flak , 186 байт
Этот код имеет длину 182 байта, и я добавил 4 байта для двух флагов командной строки:
-r
и-u
Попробуйте онлайн!
Большое спасибо @Neil за этот удивительный целочисленный метаголфер, который создал этот приятный способ нажатия 1488 (кодовая точка первого символа)
Объяснение:
Толкать большое количество в мозговых злобах относительно сложно. Тем не менее, поскольку действие по увеличению числа также приводит к вычислению этого числа, мы можем одновременно нажать несколько чисел для значительной экономии байтов. Вот более конкретный пример. Самая внутренняя часть (которую я написал выше) в коде psuedo
Это выражение оценивается как 1488, поэтому мы завернем все это в другой оператор push:
Это подталкивает 1488 и 1489, а также оценку к 1489. Итак, мы завернем это:
который сдвигает 1488, 1489 и 1490, а также оценивает до 1490. Повторите этот шаг для каждого числа, которое нам нужно нажать.
Однако, поскольку приращения не всегда равны 1, это немного сложнее, чем это. Вот более читаемая версия:
источник
-r
потому что-
не считается-
не считается, если он уже присутствует в другом параметре (например, в Perl-e
). У Brain-Flak нет такой опции, как эта, поэтому-
опция и пробел в конце концов учитываются в общем количестве.()()()
в начало и опустил их вверх и вниз./// , 27 байт
Попробуйте онлайн!
Выход кодируется в CP424 .
Чтобы проверить это самостоятельно:
источник
JavaScript (ES6), 59 байт
Лучшее, что я мог сделать в ASCII, было
807978 байтов:Если массив символов приемлем, 75 байтов:
Редактировать: Сохранено несколько байтов благодаря @IsmaelMiguel. Сохранен еще один байт благодаря @ETHproductions. Если вы используете Firefox 30-57, тогда вы можете сохранить еще 2 байта благодаря @ETHproductions, используя генератор или массивы:
источник
0x377BABBCF7F.toString(3)
. Комбинируя это с.map()
, вы можете сделать_=>0x377BABBCF7F.toString(3,n=1488).split``.map(_=>String.fromCharCode(++n-_))
для 78 байтов. Возвращает массив символов...
но мы здесь не используемsplit
._=>String.fromCharCode(...[...0x377babbcf7f.toString(3)].map(c=>++n-c,n=1488))
1 байт меньше, чем текущие 79 байтов.String.fromCharCode(...)
и сумел убедить себя, что это всегда будет дольше. На самом деле это экономит 4 байта в моем решении 2 (что по-прежнему составляет 84 байта, поскольку для декодирования требуется больше байтов)._=>String.fromCharCode(...[for(c of 0x377babbcf7f.toString(3,n=1488))++n-c])
char-array:_=>[for(c of 0x377babbcf7f.toString(3,n=1488))String.fromCharCode(++n-c))
05AB1E , 28 * 2-1 = 55 байтов
Попробуйте онлайн!
-1 байт благодаря Emigna + 28 байт благодаря DJMCMayhem;).
источник
/// , 54 байта
Попробуйте онлайн!
Там не может быть ни одна версия более гольф, чем этот :(
источник
Scala / Groovy / Python 3, 9 ascii-символов + 27 2-байтовых символов = 63 байта
при условии UTF-8
Скала, 59 байт
x+1423
такой же какx-'A'+1488
источник
APL (Dyalog) , 35 байт
Попробуйте онлайн!
источник
11 14 16 20 22
как⎕A⍳'KNPTV'
К № 6 +,
768682 байтаПервая попытка игры в гольф. Я делаю это правильно?
РЕДАКТИРОВАТЬ : +6 байт, если забыли заключить в функцию. Спасибо @Kevin
Версия C # 5 и ниже,
8682 байтаисточник
void F(){Console.WriteLine("אבגדהוזחטיכךלמםנןסעפףצץקרשת");}
что было бы действительно, или()=>{Console.WriteLine("אבגדהוזחטיכךלמםנןסעפףצץקרשת");}
я думаю, (не уверен насчет этого последнего, хотя). Кроме того, вы можете играть в гольф, используя.Write
вместо.WriteLine
. :) Как говорится, добро пожаловать в PPCG! Вы можете найти советы по игре в гольф на C # интересными для чтения. Приятного пребывания.<s>your text</s>
для удара по тексту вместо использования странных символов.Фурье, 53 байта
Снова использует функции.
Попробуйте это FourIDE!
источник
ArnoldC, 112 байт
источник
Кег , 34 байта
Вдохновленный решением Powershell.
TIO
источник
BaCon , 57 байт
В большинстве бейсиков знак вопроса просто представляет PRINT.
На первый взгляд, приведенное ниже решение выглядит как 30 байтов, но символам иврита требуется 2 байта памяти из-за UTF-8. Таким образом, есть 27 символов x 2 байта + 1 байт для '?' и 2 байта для двойных кавычек = 57 байтов.
Решение:
источник
s-lang , 59 байт
Действительно простой ответ ...
t
- заменить функцию (заменяет «ничего» на входе алфавитом ...)Попробуй здесь
источник
зш,
2521 байтМой браузер все испортил: первая буква должна быть ת, а потом א. Если вы вставите в другое место, это должно сработать. Старая версия:
источник
כך
например, (сначала обычный каф, второй финал каф), но в Юникоде конечные буквы перед нормальными буквами (ךכ
), поэтому напечатанный текст недействителен. И если он сначала отображается с тав, то это потому, что иврит - это язык RTL, поэтому первый символ отображается справаJava 7, 85 байт
Я даже не собираюсь публиковать тестовый код или «попробуйте здесь», как я обычно делаю ..
источник
Perl 6 (74)
источник
Рубин , 49 байтов
Попробуйте онлайн!
источник
Haskell , 23 байта
Попробуйте онлайн!
Это работает в версии Haskell TIO
источник
C, 49 байтов
Некоторым пользователям может потребоваться позвонить,
setlocale
прежде чем использовать это, но у меня это работало нормально.источник
for(i=1488;putwchar(i++)<1514;);
вместоfor(i=0x5d0;i<=0x5ea;i++)wprintf(L"%lc",i);
Чистый , 62 байта
Попробуйте онлайн!
источник