Текущий интернет-мем должен набирать 2spooky4me, а второй человек - 3spooky5me, следуя (n)spooky(n+2)me
шаблону.
Ваша миссия - реализовать этот шаблон на выбранном вами языке. Вы должны написать программу или функцию, которая принимает значение n
(из стандартного ввода, в качестве аргумента функции или ближайшей альтернативы) и выводит строку (n)spooky(n+2)me
(без скобок; в стандартный вывод, в качестве возвращаемого значения для функции или ближайшей альтернативы). ).
Ваше решение должно работать для всех входных данных, 1
вплоть до 2 ниже максимально допустимого целочисленного значения вашего языка (например, 2^32-3
для C на 32-битной машине).
Пример реализации в Python:
def spooky(n):
return "%dspooky%dme"%(n,n+2)
spooky(2) -> "2spooky4me"
Это код-гольф , поэтому стандартные лазейки запрещены, и выигрывает самый короткий ответ в байтах!
Leaderboard
Фрагмент стека внизу этого поста генерирует таблицу лидеров из ответов а) в виде списка кратчайшего решения для каждого языка и б) в качестве общей таблицы лидеров.
Чтобы убедиться, что ваш ответ обнаружен, начните его с заголовка, используя следующий шаблон уценки:
## Language Name, N bytes
где N
размер вашего представления. Если вы улучшите свой счет, вы можете сохранить старые результаты в заголовке, вычеркнув их. Например:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Если вы хотите включить в заголовок несколько чисел (например, потому что ваш результат равен сумме двух файлов или вы хотите перечислить штрафы за флаг интерпретатора отдельно), убедитесь, что фактический результат является последним числом в заголовке:
## Perl, 43 + 2 (-p flag) = 45 bytes
Вы также можете сделать имя языка ссылкой, которая будет отображаться во фрагменте кода:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
<style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } table thead { font-weight: bold; } table td { padding: 5px; }</style><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="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table><script>var QUESTION_ID = 62350; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var OVERRIDE_USER = 45941; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://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 "https://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) { if (c.owner.user_id === OVERRIDE_USER) answers_hash[c.post_id].comments.push(c); }); if (data.has_more) getComments(); else if (more_answers) getAnswers(); else process(); } }); } getAnswers(); var SCORE_REG = /<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/; var OVERRIDE_REG = /^Override\s*header:\s*/i; function getAuthorName(a) { return a.owner.display_name; } function process() { var valid = []; answers.forEach(function(a) { var body = a.body; a.comments.forEach(function(c) { if(OVERRIDE_REG.test(c.body)) body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>'; }); var match = body.match(SCORE_REG); if (match) valid.push({ user: getAuthorName(a), size: +match[2], language: match[1], link: a.share_link, }); else console.log(body); }); valid.sort(function (a, b) { var aB = a.size, bB = b.size; return aB - bB }); var languages = {}; var place = 1; var lastSize = null; var lastPlace = 1; valid.forEach(function (a) { if (a.size != lastSize) lastPlace = place; lastSize = a.size; ++place; var answer = jQuery("#answer-template").html(); answer = answer.replace("{{PLACE}}", lastPlace + ".") .replace("{{NAME}}", a.user) .replace("{{LANGUAGE}}", a.language) .replace("{{SIZE}}", a.size) .replace("{{LINK}}", a.link); answer = jQuery(answer); jQuery("#answers").append(answer); var lang = a.language; lang = jQuery('<a>'+lang+'</a>').text(); languages[lang] = languages[lang] || {lang: a.language, lang_raw: lang.toLowerCase(), user: a.user, size: a.size, link: a.link}; }); var langs = []; for (var lang in languages) if (languages.hasOwnProperty(lang)) langs.push(languages[lang]); langs.sort(function (a, b) { if (a.lang_raw > b.lang_raw) return 1; if (a.lang_raw < b.lang_raw) return -1; return 0; }); for (var i = 0; i < langs.length; ++i) { var language = jQuery("#language-template").html(); var lang = langs[i]; language = language.replace("{{LANGUAGE}}", lang.lang) .replace("{{NAME}}", lang.user) .replace("{{SIZE}}", lang.size) .replace("{{LINK}}", lang.link); language = jQuery(language); jQuery("#languages").append(language); } }</script>
%dspooky%dme
, подтвердите и верните следующий в серии.Ответы:
GS2, 15 байт
Я переиграл Денниса!
CP437:
Шестнадцатеричный дамп:
В начале программы вводится STDIN (например, строка
"3"
) и сохраняется в переменнойA
. Первые десять байт из программы кнопочных двух строк,"spooky"
и"me"
, в стек. Затем:d0
толкает переменнуюA
.56
разбирает его как число.12
30
увеличивает его на два.42
меняет два верхних элемента в стеке, оставляя"3" "spooky" 5 "me"
.Окончательный стек печатается как
3spooky5me
.источник
GS2, 17 байт
Я не могу помочь Деннису
источник
Застрял, 17 байт
РЕДАКТИРОВАТЬ: думаю, вы могли бы сказать, что я застрял на 17 байт
источник
GolfScript, 17 байт
Попробуйте онлайн на Web GolfScript .
Как это работает
источник
CJam, 18 байт
Попробуйте онлайн.
источник
Pyth - 17 байт
Попробуйте это онлайн здесь .
источник
Шеф-повар, 414 байт
Рецепт катастрофы. Не пытайтесь повторить это дома.
источник
TeaScript, 18 байт
К сожалению, эта строка не может быть сжата, поэтому она в основном настолько короткая, насколько это возможно
источник
Пип, 18 байт
Похоже, я на втором уровне языков игры в гольф здесь. : ^ P
Принимает число в качестве аргумента командной строки и помещает соответствующие элементы в массив, который объединяется и автоматически печатается в конце программы.
источник
постоянный ток, 20 байтов
источник
Japt,
1716 байтДжапт ( Ja vascri pt сокращен) - язык моего изобретения. Это новее, чем этот вызов; таким образом, этот ответ не является конкурирующим. В отличие от других моих семи неопубликованных языков, у этого есть реальный переводчик, который в настоящее время разрабатывается и уже частично работает.
Я хотел опубликовать это, потому что мне нравится, как он имеет ту же длину, что и все существующие ответы на
первое место навтором месте. Вот как это работает:И там у вас есть это. Спецификация для всей функциональности, использованной здесь, была завершена 29 октября; ничего не изменилось, чтобы сделать этот ответ короче. Вот переводчик , как и обещал.
источник
{U}2me
вместо{U+2}me
: PGol> <> , 21 байт
Думаю, я ... связан с Perl? Попробуйте онлайн .
источник
Витси, 21 байт
Примечание:
Z
команда была создана после начала этого вызова, но не была создана для этого вызова.Больше вариаций с использованием нескольких стеков (27 байт):
Попробуйте онлайн!
источник
Юлия, 23 байта
Это создает безымянную лямбда-функцию, которая принимает целое число и возвращает строку. Выходные данные строятся с использованием строковой интерполяции Юлии.
источник
Рубин, 25 байт
Это создает безымянную лямбду, которая принимает целое число и возвращает строку. Строка строится с использованием строковой интерполяции Руби.
источник
APL,
2522 байтаЭто создает неназванную последовательность монадических функций, которая принимает целое число слева и возвращает строку.
Числовые значения преобразуются в строки с использованием
⍕
. Массив строк объединяется в одну строку с помощью∊
.Попробуйте онлайн
Сохранено 3 байта благодаря Томасу Ква!
источник
Javascript (ES6)
2321 байтПростая функция, которая будет подавлена играми в гольф:
Отдельное спасибо ETHproductions за сохранение 2 байта
источник
_=>_+`spooky${_+2}me`
05AB1E,
1410 байтПопробуйте онлайн.
Не конкурирует с 05AB1E новее, чем этот вызов.
объяснение
источник
D
удаленными на 9 байтовPHP,
5547464234 байтаПринимает число в качестве ввода командной строки.
Кредиты :)
Спасибо manatwork за сохранение 4 байта!
Спасибо insertusername здесь за сохранение 8 байт!
источник
function a($a){echo$a,"spooky",$a+2,"me";}
"
s. Можно даже сэкономить 4 байта больше , беря строку аргумент команды и отбросить функцию, например:<?=($a=$argv[1]).spooky.($a+2).me;
.Chaîne , 15 байтов
неконкурентный, языковой вопрос
Неявный вывод.
источник
Python, 31 байт
Просите, и вы получите.
источник
lambda n:f'{n}spooky{n+2}me'
для 28 байт.Simplex v.0.7 , 20 байтов
Симплекс просто не чувствует себя в гольфе сегодня. > _ <
источник
C 58 байт
atoi()
может быть ненужным.источник
gcc
, потому что это зависит от порядка оценки. 2. Сохранить байт с помощьюint**b
.Mathematica,
4527 байтg=ToString[#]<>"spooky"<>ToString[#+2]<>"me"&
Спасибо Мартину Бюттнеру за значительное улучшение (и теплый прием).
источник
g=
и я думаю, чтоPrint[#,"spooky",#+2,"me"]&
должно работать. :)Row@{#,spooky,#+2,me}&
? Вывод визуально похож, если переменные не определены.Минколанг 0.10 , 49 байт
У меня нет способа конвертировать целые числа в строки (пока!), Так что это намного дольше.
Попробуй это здесь.
объяснение
(dl%"0"+$rl:d)
выполняет работу по преобразованию int в строку. Если бы это было заменено единственным символом (какZ
), то мое решение было бы только 23 байтами .nd
берет целое число из ввода и дублирует его.2+
добавляет 2 и2g
позже получает начальный ввод и помещает его на вершину стека.$O.
выводит весь стек в виде целых чисел и останавливается.источник
Lua для windows, 41 байт
тест с lua для windows
он принимает входные данные через io.read, затем сохраняется в переменной n, затем в той же строке выводит переменную n, затем "spooky", затем n + 2, наконец, выводит "me"
источник
n=io.read()print(n.."spooky"..n+2.."me")
2.
будет рассматриваться как число.print(.....'spooky'.. ...+2 ..'me')
как запустить:lua51.exe p.lua 2
размер = 35 байт.Ротор, 15 байт
Язык был создан после вызова. Не работает в онлайн-переводчике (использует ввод eval.)
источник
Cookie , 16 байт (не конкурирует)
Обратите внимание, что последние изменения на странице Github не были сделаны для этой задачи, Cookie все еще находится в разработке.
Объяснение:
источник
Желе неконкурентоспособное
13 байт. Этот ответ не является конкурирующим, поскольку задача предшествует созданию желе.
Я не могу помочь
Попробуйте онлайн!
Как это работает
источник
+2ṭż“×¥X“ŀ`»
Perl 5 ,
2019 байтовКод требует
-p
переключения. Спасибо @Xcali за вывод 1 байта!Попробуйте онлайн!
источник