Нить грабителей можно найти здесь: Mystery String Printer (Robbers)
Ваш вызов
- Напишите программу, функцию или сценарий REPL, который печатает строку в STDOUT.
- Грабители попытаются создать программу, которая печатает ту же строку.
- Если они успешно могут создать программу в течение 7 дней, ваша заявка будет взломана.
- Если никто не может создать программу, которая печатает ту же строку в течение 7 дней, ваша отправка безопасна. Вы можете раскрыть свою программу или оставить ее для вызова будущим грабителям. Однако, если вы не откроете это, вы не сможете получить какие-либо баллы от вашего представления (не ставьте «безопасно» в заголовке ответа, если вы решите это сделать).
ограничения
- Программа должна быть не более 128 байтов (подробнее об этом позже).
- Если программа зависит от имени программы или имени / содержимого внешнего файла, вы должны сказать, что это так, и включить это в общее количество байтов.
- Напечатанная строка должна быть меньше или равна 2048 байтов.
- Печатная строка должна состоять только из печатных символов ASCII (могут быть добавлены новые строки).
- Программа должна выдавать один и тот же вывод при каждом запуске.
- Встроенные криптографические примитивы (включая любые rng, шифрование, дешифрование и хэш) не допускаются.
- Программа не должна принимать данные.
- Нет стандартных лазеек.
счет
- Если заявка взломана до семи дней, она получает 0 баллов.
- За безопасную отправку ≤128 символов вы получаете 1 очко.
- За безопасную отправку ≤64 символов вы получаете 2 очка. Если он меньше или равен 32 байтам, он зарабатывает 4 балла и так далее.
- Каждое безопасное представление также приносит дополнительный бонус в 3 очка (независимо от продолжительности).
- Крошечный (1/2 очка) штраф за каждый взломанный после вашего первого.
- Обратите внимание, что решение грабителя должно быть в том же диапазоне длин программ.
- Каждый человек может подать максимум 1 программу на диапазон байтов для каждого языка (разные версии и произвольные замены одного и того же языка не считаются отдельными языками). Пример: вы можете опубликовать 32-байтовую и 64-байтовую программу Pyth, но вы не можете опубликовать 128-байтовую программу как в Java 7, так и в Java 8.
- Человек с наибольшим количеством очков побеждает.
Материалы
Каждая заявка должна содержать следующую информацию:
- Название языка. Все новые решения грабителей должны быть на одном языке.
- Диапазон размера программы (это ближайшая степень на два больше, чем размер программы; например, если ваша программа имеет размер 25 байт, это будет «≤32»).
- Фактическая строка для печати.
- Если отправка безопасна, укажите в заголовке «safe» и длину программы (с точностью до ближайшей степени 2). Если в вашем заголовке несколько номеров, поместите степень 2 в последнюю очередь.
Этот фрагмент стека генерирует списки лидеров и перечисляет все открытые представления. Если есть какие-либо проблемы с фрагментом, пожалуйста, оставьте комментарий.
/* Configuration */
var QUESTION_ID = 60328; // Obtain this from the url
// It will be like http://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";
var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk";
var OVERRIDE_USER = 167084; // This should be the user ID of the challenge author.
var SECONDSINDAY = 86400;
var SAFECUTOFFDAYS = 7;
var SORTBYTIME = true;
var SUBTRACTCRACKEDPOINTS = true;
var EXPIREDTIME = 1446336000;
/* App */
var answers = [],
answers_hash, answer_ids, answer_page = 1,
more_answers = true,
comment_page;
function answersUrl(index) {
return "//api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER;
}
function commentUrl(index, answers) {
return "//api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER;
}
function getAnswers() {
jQuery.ajax({
url: answersUrl(answer_page++),
method: "get",
dataType: "jsonp",
crossDomain: true,
success: function(data) {
answers.push.apply(answers, data.items);
answers_hash = [];
answer_ids = [];
data.items.forEach(function(a) {
a.comments = [];
var id = +a.share_link.match(/\d+/);
answer_ids.push(id);
answers_hash[id] = a;
});
if (!data.has_more) more_answers = false;
comment_page = 1;
getComments();
}
});
}
function getComments() {
jQuery.ajax({
url: commentUrl(comment_page++, answer_ids),
method: "get",
dataType: "jsonp",
crossDomain: true,
success: function(data) {
data.items.forEach(function(c) {
answers_hash[c.post_id].comments.push(c);
});
if (data.has_more) getComments();
else if (more_answers) getAnswers();
else process();
}
});
}
getAnswers();
var SAFE_REG = /<h\d>.*?[sS][aA][fF][eE].*<\/\h\d>/;
var POINTS_REG = /(?:<=|≤|<=)\s?(?:<\/?strong>)?\s?(\d+)/
var POINTS_REG_ALT = /<h\d>.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;
var CRACKED_HEADER_REG = /<h\d>.*[Cc][Rr][Aa][Cc][Kk][Ee][Dd].*<\/h\d>/;
var CRACKED_COMMENT_REG = /(.*[Cc][Rr][Aa][Cc][Kk][Ee][Dd].*<a href=.*)|(.*<a href=.*[Cc][Rr][Aa][Cc][Kk][Ee][Dd].*)/
var OVERRIDE_REG = /^Override\s*header:\s*/i;
var LANGUAGE_REG = /<h\d>\s*(.+?),.*<\/h\d>/;
var LANGUAGE_REG_ALT = /<h\d>\s*(<a href=.+<\/a>).*<\/h\d>/
var LANGUAGE_REG_ALT_2 = /<h\d>\s*(.+?)\s.*<\/h\d>/;
var LANGUAGE_REG_ALT_3 = /<h\d>(.+?)<\/h\d>/;
function getAuthorName(a) {
return a.owner.display_name;
}
function process() {
var valid = [];
var open = [];
answers.forEach(function(a) {
var body = a.body;
var cracked = false;
a.comments.forEach(function(c) {
var was_safe = (c.creation_date + (SECONDSINDAY * SAFECUTOFFDAYS) > a.creation_date);
if (CRACKED_COMMENT_REG.test(c.body) && !was_safe)
cracked = true;
});
if (CRACKED_HEADER_REG.test(body)) cracked = true;
// if (SUBTRACTCRACKEDPOINTS||!cracked) {
var createDate = a.creation_date;
var currentDate = Date.now() / 1000;
var timeToSafe = (createDate + (SECONDSINDAY * SAFECUTOFFDAYS) - currentDate) / SECONDSINDAY;
var SafeTimeStr = (timeToSafe > 2) ? (Math.floor(timeToSafe) + " Days") :
(timeToSafe > 1) ? ("1 Day") :
(timeToSafe > (2 / 24)) ? (Math.floor(timeToSafe * 24) + " Hours") :
(timeToSafe > (1 / 24)) ? ("1 Hour") :
"<1 Hour";
var expired = createDate > (EXPIREDTIME);
var safe = timeToSafe < 0;
var points = body.match(POINTS_REG);
if (!points) points = body.match(POINTS_REG_ALT);
safe = safe && !cracked
isOpen = !(cracked || safe);
if (points) {
var length = parseInt(points[1]);
var safepoints = 0;
if (length <= 4) safepoints = 32;
else if (length <= 8) safepoints = 16;
else if (length <= 16) safepoints = 8;
else if (length <= 32) safepoints = 4;
else if (length <= 64) safepoints = 2;
else if (length <= 128) safepoints = 1;
valid.push({
user: getAuthorName(a),
numberOfSubmissions: (safe && !expired) ? 1 : 0,
points: (safe && !expired) ? safepoints : 0,
open: (isOpen && !expired) ? 1 : 0,
cracked: (cracked && !expired) ? 1 : 0,
expired: (expired) ? 1 : 0
});
}
if ((isOpen || expired) && points) {
var language = body.match(LANGUAGE_REG);
if (!language) language = body.match(LANGUAGE_REG_ALT);
if (!language) language = body.match(LANGUAGE_REG_ALT_2);
if (!language) language = body.match(LANGUAGE_REG_ALT_3);
open.push({
user: getAuthorName(a),
length: points ? points[1] : "???",
language: language ? language[1] : "???",
link: a.share_link,
timeToSafe: timeToSafe,
timeStr: (expired) ? "Challenge closed" : SafeTimeStr
});
}
// }
});
if (SORTBYTIME) {
open.sort(function(a, b) {
return a.timeToSafe - b.timeToSafe;
});
} else {
open.sort(function(a, b) {
var r1 = parseInt(a.length);
var r2 = parseInt(b.length);
if (r1 && r2) return r1 - r2;
else if (r1) return r2;
else if (r2) return r1;
else return 0;
});
}
var pointTotals = [];
valid.forEach(function(a) {
var index = -1;
var author = a.user;
pointTotals.forEach(function(p) {
if (p.user == author) index = pointTotals.indexOf(p);
});
if (index == -1) pointTotals.push(a);
else {
pointTotals[index].points += a.points;
pointTotals[index].numberOfSubmissions += a.numberOfSubmissions;
pointTotals[index].cracked += a.cracked;
pointTotals[index].expired += a.expired;
pointTotals[index].open += a.open;
if (SUBTRACTCRACKEDPOINTS && a.cracked && pointTotals[index].cracked > 1) pointTotals[index].points -= .5;
}
});
pointTotals.forEach(function(a) {
a.points += (a.numberOfSubmissions) ? ((a.numberOfSubmissions) * 3) : 0;
});
pointTotals.sort(function(a, b) {
if (a.points != b.points)
return b.points - a.points;
else if (a.numberOfSubmissions != b.numberOfSubmissions)
return b.numberOfSubmissions - a.numberOfSubmissions;
else if (a.open != b.open)
return b.open - a.open;
else if (a.cracked != b.cracked)
return a.cracked - b.cracked;
else return 0;
});
pointTotals.forEach(function(a) {
var answer = jQuery("#answer-template").html();
answer = answer
.replace("{{NAME}}", a.user)
.replace("{{SAFE}}", a.numberOfSubmissions)
.replace("{{OPEN}}", a.open)
.replace("{{CLOSED}}", a.expired)
.replace("{{CRACKED}}", a.cracked)
.replace("{{POINTS}}", a.points);
answer = jQuery(answer);
jQuery("#answers").append(answer);
});
open.forEach(function(a) {
var answer = jQuery("#open-template").html();
answer = answer
.replace("{{NAME}}", a.user)
.replace("{{LENGTH}}", a.length)
.replace("{{LANGUAGE}}", a.language)
.replace("{{TIME}}", a.timeStr)
.replace("{{LINK}}", a.link);
answer = jQuery(answer);
jQuery("#opensubs").append(answer);
});
}
body {
text-align: left !important
}
#answer-list {
padding: 10px;
width: 350px;
float: left;
}
#open-list {
padding: 10px;
width: 470px;
float: left;
}
table thead {
font-weight: bold;
vertical-align: top;
}
table td {
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b">
<div id="answer-list">
<h2>Leaderboard</h2>
<table class="answer-list">
<thead>
<tr>
<td>Author</td>
<td>Safe</td>
<td>Open</td>
<td>Cracked</td>
<td>Late Entry</td>
<td>Score</td>
</tr>
</thead>
<tbody id="answers">
</tbody>
</table>
</div>
<div id="open-list">
<h2>Open submissions</h2>
<table class="open-list">
<thead>
<tr>
<td>Author</td>
<td>Length</td>
<td>Language</td>
<td>Time Remaining</td>
<td>Link (open in new tab)</td>
</tr>
</thead>
<tbody id="opensubs">
</tbody>
</table>
</div>
<table style="display: none">
<tbody id="answer-template">
<tr>
<td>{{NAME}}</td>
<td>{{SAFE}}</td>
<td>{{OPEN}}</td>
<td>{{CRACKED}}</td>
<td>{{CLOSED}}</td>
<td>{{POINTS}}</td>
</tr>
</tbody>
</table>
<table style="display: none">
<tbody id="open-template">
<tr>
<td>{{NAME}}</td>
<td>{{LENGTH}}</td>
<td>{{LANGUAGE}}</td>
<td>{{TIME}}</td>
<td><a target="_parent" href="{{LINK}}">Link</a>
</td>
</tr>
</tbody>
</table>
Используйте следующие форматы для записей:
Language, (any text with the program size as the last number)
=
или же
Language
=
Length <= 16
Обратите внимание, что фрагмент будет помещать первое слово в заголовок в качестве языка, только если он не обнаруживает запятую.
Для безопасного представления, поместите сейф в свой заголовок. Фрагмент автоматически поместит вашу программу в «безопасный» столбец, если время истекло, так что это больше, чтобы сказать любым грабителям, что ваша программа безопасна.
Для взломанных представлений поместите взломанный в своем заголовке.
Программа также должна иметь возможность распознавать, если в комментарии написано «взломан» и есть ссылка; однако это не гарантируется.
Порядок взлома: Очки -> Количество безопасных отправлений -> Наименьшее количество взломанных отправлений.
Обратите внимание, что фрагмент сортируется по открытым материалам до того, как они будут взломаны, но открытые материалы не будут засчитаны в конце конкурса.
Этот вызов сейчас закрыт.
Большинство очков в общем зачете: Деннис
Самые безопасные представления: DLosc
(Обратите внимание, что количество безопасных представлений не переводится в сумму баллов, так как размер программ учитывается при подсчете баллов).
Ответы:
Pyth, Safe, Диапазон ≤ 8
Код:
Объяснение:
источник
]
?VBA, [Безопасный]
Диапазон <= 128 байт
Подсказка, куда выводить
Вывод 255 байтов
Решение
Код
Разъяснения
источник
Mathematica, безопасный, диапазон ≤ 64
Выход:
Источник:
источник
GenomeLookup
все ...ngn APL (безопасно)
Диапазон ≤ 8
Решение
Попробуйте онлайн.
Как это устроено
⍟⍣=42
применяет натуральный логарифм (⍟
) к 42 до тех пор, пока не будет достигнута фиксированная точка (⍣=
), в результате получится 0.31813150520476413J1.3372357014306895 .Начальное значение здесь не имеет значения, если оно не равно ни 1, ни 0 .
3○
применяет тангенс к своему правильному аргументу, получая 0.07343765001657206J0.8920713530605129 .*
применяет естественную экспоненциальную функцию к своему правому аргументу, получая желаемый результат.источник
Pyth, взломанный Sp3000
Диапазон ≤ 8
источник
> <> (Сейф)
Проверено на онлайн и официальных переводчиках.
Диапазон: <= 16
Строка:
4621430504113348052246441337820019217490490
Это довольно 1337, а?
Объяснение:
Вот исходный код (15 байт):
f
помещает 15 (наш счетчик) в стек (!
в конце он пропускается, чтобы не сдвинуть более одного счетчика)1-
вычитает 1 из счетчика:0(?;
Хмурое лицо проверяет, если счетчик меньше 0, остальные завершают программу, если это::
Дублирует счетчик дважды0g
Захватывает символ в той точке(c,0)
исходного кода, гдеc
находится счетчик*
Умножает второй дубликат счетчика на представление ASCII ранее захваченного символаn
Печатает результат.Итак, расстались, выход есть
[462, 1430, 504, 1133, 480, 522, 464, 413, 378, 200, 192, 174, 90, 49, 0]
. Это соответствует ASCII-интерпретации кода в обратном порядке, умноженного на числа от 14 до 0 (т.е.[!*14, n*13, ... f*0]
).Вероятно, самая сложная часть взлома - это выяснить, как правильно разделить числа, но если вы получите правильные, это просто вопрос пробовать что-то, пока вы не получите что-то, что работает.
источник
Снеговик 1.0.2
Диапазон ≤32.
Решение:
источник
Matlab, ≤16. Взломанный Wauzl
Диапазон ≤16 .
Это работает и в Октаве .
Напечатанная строка выглядит следующим образом:
источник
Perl (безопасный)
Диапазон ≤ 32
Решение
Попробуйте онлайн.
Как это устроено
for-951..1048
выполняет предыдущую команду для каждого целого числа в этом диапазоне, сохраняя его в неявной переменной.y/124589//
выполняет транслитерацию, исключая указанные цифры из неявной переменной.y///
вернет количество исключений, т. е. количество вхождений этих цифр в неявную переменную.print 2**
печатает 2 в степени исключения ( 1 , 2 , 4 или 8 ).источник
Python, <= 16 ( взломано kennytm )
Это было сделано через REPL (запуск команды в оболочке Python).
В то время как я редактирую это, я также суммирую комментарии для будущих грабителей без спойлеров: это работает не во всех Питонах. Это работает в сборке Python 2.7 где
sys.maxint = 9223372036854775807
.источник
> <> , ≤ 8 [ треснувший ]
Это в общей сложности 12
o
с. Программа останавливается без ошибок и работает как с официальным переводчиком, так и с онлайн-переводчиком .источник
TI-BASIC, ≤4 байта, взломан Рето Коради
Это заняло 5 дней 23 часа, чтобы взломать. Так близко...
Выход (10 байт):
Программа:
Поскольку для кого-то это практически невозможно угадать, моей целью при разработке этой программы было сделать грубую силу единственным возможным подходом.
Чтобы сделать это, я не позволил выводу или выводу с одной из этих примененных обратных функций появиться на ISC. ISC не имеет гиперболического тангенса, и я подумал, что подобного инструмента не будет
tanh(7°
.Чтобы добавить некоторую защиту от грубой силы, я использовал преобразование градусов в радианы, немного неясную особенность, но этого было недостаточно.
источник
sin(
в TI-BASIC такие вещи, как 1 байт. Так что примерно такsin(sin(sin(e
будет всего 4 байта.fPart(
.CJam, ≤ 8 [безопасно]
Я не люблю длинные цифры, поэтому вот короткая. Не стесняйтесь играть в автономном режиме и онлайн .
Поскольку я считаю, что представления только по номерам довольно скучны, я буду медленно выдавать несколько советов, чтобы компенсировать это.
Решение
Программа была
0W#
есть0^-1
, что вместо выдает ошибкуInfinity
.s
затем бросает это в строке (обратите внимание , что`
дает1d0/
вместо этого).Для другой половины
Wc
преобразует -1 в символ, который становится кодовой точкой 65535 из-за переноса символов (см. Этот совет ).i
затем преобразует символ обратно в int, то есть 65535.Наконец,
b
преобразует строкуInfinity
в базу 65535, чтобы получить вышеуказанное число.источник
Javascript (консоль), <= 32 ( взломан insertusernamehere )
Испытано в веб-консолях Chrome и Firefox. Это строка из 43 символов.
Мое намеченное решение было немного более сложным, чем связанное (проклинаю вас, ES6!).
Объяснение:
источник
Python, <= 32 ( трещины Егора Skriptunoff)
Вывод 1832 байта, включая переводы строки:
источник
CJam ( взломанный Деннисом)
Длина <= 4
Я не даю этому очень высокий шанс на выживание, но я все равно хотел попробовать 4-байтовое решение.
Мой код был именно тем, что разработал Деннис:
Затем CJam печатает все содержимое стека в сцепленном виде. Таким образом, вывод был
17
объединен с19^20
.источник
KK#
, попробовал еще несколько способностей и наконец нашелJK#
.Луа, ≤ 4 ( трещины от feersum)
Выход:
Вам нужно найти строку для Lua REPL, которая приводит к константе "1 / M".
Это просто, но не очень тривиально.
источник
=
перед выражением.0x2p-21
Пип , <= 16 (безопасно)
Это мое последнее представление Пипса, обещаю. :)
Я буду удивлен, если кто-нибудь получит это до 16 байтов - мне потребовалось немало попыток, чтобы привести его в соответствие. (Примите это как вызов, если хотите!)
Ответ:
Этот код использует предопределенные переменные
t
= 10 иs
= пробел.источник
Рубин, треснувший по Кеннитму
Диапазон: ≤64.
(И да, весь вывод на STDOUT.)
Предполагаемое решение:
источник
TI-BASIC ( треснул от Томаса Ква )
Вариант TI-89
Диапазон: ≤8
Выходная длина: 460
Я не думаю, что вы можете использовать RIES для этого, но я сомневаюсь, что он все равно выживет 7 дней. Ну что ж.
Код:
источник
MATLAB, взломанный Томом Карпентером
Диапазон <= 16
источник
Mathematica, взломанный Sp3000
Диапазон: <= 32
источник
Чт - <= 64 байта, взломан гистократом.
555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
Это 2016 5s; Кстати.
источник
CJam, ≤8 (безопасно)
Оригинальный код:
То есть для начала
3.141592653589793
и замените каждый символ"3.141592653589793"
на соответствующий символ в"\"3.141592653589793\""
. При удалении дубликатов он фактически заменяется".123456789
на""35\.49831
.источник
Python 2 (безопасный 16)
Диапазон ≤ 16. В случае, если версия имеет значение (для точности печати?), Я использую ideone .
Я не вижу способа угадать код без компьютерного поиска, но вы все произвели на меня впечатление раньше.
Ответ:
источник
dir(complex)
для просмотра того, какие операции определены для комплексных чисел. Я не знал, что вы могли бы использовать модуль. Обратите внимание, что это вряд ли будет полезно, но, возможно, ...JavaScript ES6, ≤128 байт - Cracked
Выход (1124 байта):
Удачи и удачи!
Оригинальный код:
источник
Still safe :3
TI-BASIC (взломан Томасом Ква)
Диапазон: <= 2
Строка:
-10
Код:
Xmin
Там просто нет дурака этот парень ...
источник
~9
(инверсия битов)AppleScript, ≤ 2 байта взломан
"Жестокое принуждение ... ворчание ворчание ..."
Что это? Короткий ответ AppleScript? : о
(да, это печатает на стандартный вывод)
источник
a=
илиa-
1=
или1-
или?say"Cracked."
, и, если вы не возражаете против грамматики, еще один байтsay"Cracked"
. c:> <> (Рыба) , Трещины от Sp3000
Длина <= 8
Выход составляет 23
>
с, и программа не выдает ошибки.источник
GolfScript (безопасный)
Диапазон ≤ 8
Решение
Попробуйте онлайн.
Как это устроено
{9?7*}
толкает этот блок в стеке..%
дублирует блок и отображает его ... на себя.GolfScript выполняет приведение типов, как будто завтра нет. В этом случае интерпретатор ожидает итерацию, поэтому исходный блок преобразуется в массив, давая следующий массив кодов символов: [57 63 55 42] .
Сам блок поднимает каждый символьный код до девятой степени (
9?
), а затем умножает результат на семь (7*
).Для четырехсимвольных кодов в массиве это
Перед выходом интерпретатор печатает четыре целых числа без разделителей.
источник