Напишите некоторый код на любом языке, который вводит строку, такую как «Сегодня великий день» (обратите внимание, что знаков препинания нет) и преобразует ее в «Секретный язык». Вот правила для «Тайного языка».
- a = c, b = d, c = e и т. д. (y = a и z = b)
- разделяйте каждое слово пробелом
- убедитесь, что есть правильная капитализация
Пример:
Input: "Today is a great day"
Output: "Vqfca ku c itgcv fca"
Это конкурс популярности. Другие пользователи должны давать очки, ища наиболее «точечный», но все же «уникальный» код.
ВЫЗОВ: Я искал необычные языки программирования и нашел язык, называемый Piet ( esolang ). Я призываю любого написать это на этом языке.
popularity-contest
Вик П
источник
источник
x=z, y=a, z=b
?a=c
естьa -> c
.Ответы:
Smalltalk (Smalltalk / X),
2927 символовМне повезло - он уже в классе String:
добавив ввод / вывод, это делает это:
в духе запутанного примера дверной ручки ниже, как насчет:
источник
Рубиновое, запутанное издание (с комментариями!)
Я предлагаю прочитать все это; Я нахожу это довольно забавным;)
Подсказки о том, как это работает (спойлеры, наведите курсор на показ):
источник
постскриптум
Штаб требует, чтобы отныне все агенты получали сообщения только в печатном виде (поскольку электронные каналы оказались слишком ненадежными) с использованием специального сверхсекретного шрифта. Вы несете ответственность за включение этой секретной процедуры в пролог нашего программного обеспечения для печати:
И только этот шрифт разрешен, например:
И вот что он печатает:
источник
удар
Классический.
Пример:
источник
DFSORT (программа сортировки мэйнфреймов IBM)
Оператор управления SORT не может начинаться в первом столбце.
Чтобы вышеописанное работало само по себе, вам нужно изменить таблицу альтернативного перевода установки по умолчанию, чтобы сместить все значения для заглавных и строчных букв, оборачивая последние две буквы.
Без изменения таблицы по умолчанию потребуется оператор ALTSEQ, в котором перечислены все необходимые пары шестнадцатеричных значений (из-шестнадцатеричного кода сразу же следует шестнадцатеричный код, каждая пара шестнадцатеричных значений отделяется запятой):
Таким образом, чтобы получить прописные буквы EBCDIC от A до C и от B до D:
ALTSEQ CODE = (C1C3, C2C4)
В целом, это, конечно, будет много ошибок при наборе текста, поэтому вы будете использовать другой шаг SORT для генерации контрольных карт для этого шага и позволите SORT читать их из набора данных, созданного этим новым шагом.
Конечно, для любого языка, который поддерживает «таблицу перевода», это так же просто, как изменить таблицу перевода. Хорошая программа на языке COBOL, с определенной кодовой страницей, и она может быть выполнена в одной строке кода процедуры COBOL (плюс обязательные строки COBOL, которые идут со всем ... не так много в данном конкретном случае).
О, 1,80 - это «изображение карты», которое будет содержать текст. Вероятно, все в верхнем регистре при первом запуске ...
источник
C, 75 байтов
Пример:
источник
~(c=getchar())
чтобы не сохранять 1 символc-32
вместо этого вы можете проверить его , что сэкономит вам 6 символовint
, и даже число символов указано, я почему-то предположил, что это был код гольф. Сожалею.питон
Вывод:
rfc ucyrfcp gq tcpw lgac rmbyw
источник
+3
верно? (2) Вы можете добавить много вещей, чтобы сделать их более сложными. (это, кажется, тенденция здесь)b = a[2:] + a[:2]
будет менее подвержен опечаткам, и, похоже, нет необходимости преобразовывать строкуa
вlist
c = dict(zip(a,b))
. Иexcept
не должно быть таким общим, используйтеexcept KeyError
str
конкатенация очень медленная Создатьlist
и объединить их было бы намного лучше.JavaScript
источник
PHP
Не самый короткий, хотя!
Живой пример: https://eval.in/102173
Замечания:
источник
TI-Basic (язык, который работает на графических калькуляторах TI-83)
Это хорошее программное обеспечение для шифрования (для TI-83). Под ti-83 я подразумеваю любой калькулятор семейства ti-83 или ti-84. «->» означает «STORE», доступный через «STO>»
источник
Рубин
4032обновление (как видно из решения danieros bash):
источник
Ява, это на самом деле понятно.
Я знаю, что все с пробелами и круглыми скобками испытывает трудности с компьютерной графикой, но вот пример.
Есть отдельные конкурсы на запутывание кода, но я тоже могу сделать свой смешной.
источник
Javascript
Что со всеми комментариями, мой хомяк может понять это.
источник
Я думаю, что я ROT2 это!
Javascript
источник
[A-z]
!Haskell
Вот реализация на основе линз. Я использую,
Iso
чтобы представить изоморфизм между обычным текстом и текстом, преобразованным в секретный язык. Если вы не предоставите--from
опцию, ввод преобразуется в секретный язык. Если--from
опция включена, выполняется обратное преобразование.Примеры:
источник
С
источник
EcmaScript 6:
источник
ЯВА
32
этоspace
так мы выводим его как88
есть ,X
так что меньше , чем89
движется вверх 2 символов90
этоZ
так что меньше , чем91
движется вниз 24 символов (с что - нибудь меньше , чем89
уже обрабатываются так только89
и90
эффективно)Повторите тот же процесс для строчных букв, начиная от
97
аa
до122
вz
,источник
Powershell
Вывод:
источник
PHP
Это решение довольно скучно:
источник
Python 3
Я думаю, что я не совсем понял вопрос, но все равно:
источник
Python 2.x
Попытка найти многофункциональное решение Python.
Особенности:
shift=2
можно варьироватьshift
(просто используйте минус), это также позволит вам проверить ваш вывод.strict
для неопределенных символов, либо просто вернуть неопределенный входной символ.Поехали:
Доказательство:
Вы можете расшифровать
'Wrpruurz lv qrw edg hlwkhu!'
:)?источник
Расширенный BrainFuck
Поскольку это конкурс на популярность, я написал его с намерением, чтобы за ним следили так же легко, как за EBF. В нем много комментариев, и я намеренно использовал макросы, чтобы сделать программу более буквальной.
Вероятно, самая трудная вещь здесь - это главный переключатель, так как у EBF нет никаких специальных средств сделать это, так что на самом деле это не проще, чем то, как можно было бы сделать это в BrainFuck, за исключением переменных и балансировочных скобок.
источник
Javascript
источник
Q
источник
Ява
источник
C #, 163
Да, это не код-гольф. В любом случае я пошел на самое короткое (или, по крайней мере, сделал первый удар в него)
отформатирован:
Да, я взглянул на ответ УФИ .
источник
C # 5KB
391
источник
popularity contest
значок под заданием (вы увидите подсказку, объясняющую его: « Конкурс популярности - это соревнование, в котором победит правильный ответ с наибольшим количеством голосовusually the most creative answer
»).Today is a great day
поскольку он не поддерживает прописные буквы.Баш, 8 символов
... если у вас установлен пакет bsdgames! Читает со стандартного ввода.
пример
Вывод:
Vqfca ku c itgcv fca
источник
С
источник