var QUESTION_ID=75979,OVERRIDE_USER=52353;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}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></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners 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><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>
Ответы:
Желе ,
532 байтаСпасибо Деннису за сохранение 2 байта. Также спасибо FryAmTheEggman за сохранение 1 байта. Код:
Объяснение:
Использует кодировку желе .
Попробуйте онлайн!
источник
Python 3.5, 18 байт
Это работает, потому что
print
разделитель по умолчанию - один пробел.источник
print(*input(),end=' ')
было бы портативно, но это не очень хорошо для гольфа ...Гексагония ,
21131210 байтКод:
Благодаря FryAmTheEggman сэкономлено много байтов . Код:
Или в более читаемой форме:
Попробуйте онлайн!
Объяснение:
Программа Hexagony запускается в верхнем левом углу, немедленно устанавливая для края памяти значение ASCII, равное
P
80. После этого мы видим, что выбран следующий путь:Мы можем видеть , что путь , пройденный является:
P,<;.P/0....;*/>
. ПослеP
мы берем байт пользовательского ввода. Если он пуст, следующая ветвь (<
) направит нас на северо-восток. Если ввод не пуст, ветвь направляет нас на юго-восток. После этого мы выводим пользовательский ввод, используя;
. Мы устанавливаем край памяти обратноP
, равный 80. Ноль, за которым следует зеркало, затем соединяется с нашим числом, в результате чего получается 800. Затем он выводится с помощью;
команды, но сначала он берется по модулю 256, что приводит к 32, что это космический символ. После этого мы сбрасываем край памяти с помощью*
команды и возвращаемся к циклу по остальной части пользовательского ввода. Когда мы закончим с пользовательским вводом, путь будет направлен на северо-восток:Это в основном идет к
@
команде, которая завершает программу.Используя Timwi удивительный «s HexagonyColorer для создания диаграмм.
источник
P,<0/*;@.>
P,<<>0;@>*
также 10, но, к сожалению, я не думаю, что это помогает сбрить другой байт.Haskell, 11 байт
Пример использования:
((:" ")=<<) "Code Golf"
->"C o d e G o l f "
.Отобразите каждый символ
c
в список из двух элементов[c, space]
и объедините все в один список.источник
Сетчатка , 5
Обратите внимание на пробел в конце второй строки.
$&
эквивалентно$0
. Спасибо @ mbomb007 за эту ссылку .Попробуйте онлайн.
источник
$0
. Это то же самое, но чаще.JavaScript, 20 байт
Все просто, я бы хотел, чтобы Array.join добавил в конец пробел, чтобы я мог сохранить 3 байта.
источник
[...s,``].join` `
возможно?[...s,,].join
...join
функцию в качестве возврата, как я и ожидал.` `
в комментарии.> <> ,
1310 байт3 байта сохранены благодаря @ Sp3000
Попробуй это здесь . Нажмите на ссылку, затем « Отправить» , затем введите некоторые данные и нажмите « Дать» , и, наконец, запустите программу с « Пуск» или « Запуск без анимации» .
объяснение
источник
i:0(?;o 'o
на 10io 'o
тоже работает, выдает ошибку.'
просто оборачивается, толкая символы, пока не найдет другого,'
чтобы закрыть его. В этом случае открывающий и закрывающий'
s - это один и тот же символ, и большая часть исходного кода передается, но верхний символ будет просто пробелом, поскольку он был передан последним.Java, 132 (System.in) или 99 (аргумент программы) байтов
Можете ли вы почувствовать накладные расходы сегодня вечером?
shooqie разобрался с 6 байт короче способ сделать это , но я не буду воровать их подход. Однако я использовал его с версиями STDIN и Lambda.
28 символов для лямбды, но это не соответствует требованию программы.
источник
replaceAll
.Cubix , 10 байт
Cubix - это двумерный язык, разработанный @ETHproductions, где команды помещаются в куб. Попробуйте онлайн
Это отображается на куб с длиной ребра 2
Начинается со входа
i
. Поток перенаправлен на север^
к верхней грани.?
Если значение отрицательное, поверните налево, чтобы закончить@
, ноль переходит в сдвиг вправоw
или положительный поворот вправо, затем отражается влево\
. Выходной символ с завершающим пробеломoSo
.источник
Cubix , 9 байтов
Посмотрите, как работает онлайн!
Cubix - это язык, на котором инструкции отображаются на поверхности куба. Эта программа формирует следующую сеть кубов:
Указатель инструкции начинается с
i
, который берет другой символьный код из ввода и помещает его в стек. Если больше нет ввода, которое нужно взять, то?
IP поворачивается влево, куда он попадает/
, и отражается вверх@
, что завершает программу.Однако, если остается ввод, значением будет код символа. Поскольку все 1- символьные коды положительны,
?
IP-адрес поворачивается направо, где он оборачивается вокруг куба, проходяo
путь, который выводит символ. Затем/
он>So
нажимает, что заставляет его вернуться к циклу , который выдвигает и печатает пробел. IP продолжается на запад, пока не обернетсяi
обратно к началу основного цикла.1 Если символ является нулевым байтом, он будет игнорировать
?
и продолжать прямо, просто выводя один пробел.Конечно, есть только так много письменного объяснения, поэтому я настоятельно рекомендую вам посмотреть это в онлайн-переводчике . Есть опция «скорость», которая позволяет вам просматривать исполнение так медленно или быстро, как вам нравится.
источник
@.Uoi?So
Stax , 2 байта
Галстуки желе!
Попробуйте это на staxlang.xyz!
Все, что это делает, это проталкивает
0
в стек и архивирует строку из стандартного ввода вместе с ним, повторяя 0 при необходимости. В Stax кодовая точка 0 в строке обычно преобразуется в 32 (пробел).Это достаточно мало, чтобы упаковать в
ûT
него ничего, кроме снижения читабельности.источник
05AB1E, 4 байта
Попробуйте онлайн.
объяснение
источник
ðâJ
не конкурирующий.Sðý
CJam ,
54 байтаНа 1 байт меньше благодаря @FryAmTheEggman
Попробуйте онлайн!
объяснение
источник
Ява, 92
источник
Awk, 7 байт
(4 символа кода + 3 символа командной строки.)
Образец прогона:
(Есть некоторые разногласия относительно того, что должно быть включено в счетчик параметров командной строки. Я включил то, что фактически передается
awk
интерпретатору: «-», «F» и разделитель между «F» и параметром пустой строки. См. Ниже, что Я имею в виду.)источник
PHP, 39 байт
Запустите его из командной строки
https://eval.in/541179
источник
WhoScript 38 байт
Лучше всего работает, когда строка указана в командной строке, но это может быть сделано по одному символу за раз в реальном времени.
Ungolfed:
источник
Лабиринт , 10 байт
Это завершается с ошибкой, но сообщения об ошибках отправляются в STDERR.
Попробуйте онлайн!
объяснение
Это один из редких случаев, когда возможна полностью линейная программа. Цикл достигается с помощью команд модификации исходного кода
<
и>
, который работает, потому что после каждой итерации мы знаем, что стек снова пуст.<
циклически сдвигает всю строку на одну ячейку влево, поэтому мы получаем:Это берет указатель инструкции (IP) с собой, так что теперь IP находится в правом конце кода и должен двигаться влево. Затем
>
выполняется противоположная модификация, поэтому он перемещает исходный код обратно вТеперь мы выполняем одну итерацию (справа налево), прежде чем все начнется снова:
источник
Гема , 5 байт
Образец прогона:
источник
MATL , 7 байт
Попробуйте онлайн!
объяснение
источник
APL, 5 байт
Это занимает 2 элемента для каждого символа в строке, с эффектом добавления пробела
Чтобы сделать это программой, которая принимает стандартный ввод, это то же самое число байтов:
Попробуй это здесь .
источник
бред,
2422 байтаПростой пример с использованием самого короткого из известных 32 символов пробела.
Попробуйте онлайн
источник
,[.>>-[-[-<]>>+<]>-.,]
сохраняет два байта.PHP, 31 байт
принимает входные данные из аргумента командной строки.
источник
Threead ,
4516 байт, не конкурирующих.Принимает ввод через STDIN.
Первая строка / лента просто читает байты из STDIN и записывает их. Во второй строке сначала записывается пробел
32c
, а затем в то время, когда читается следующий символ, выводится этот пробел.Попробуйте онлайн!
источник
Python 2,
272524 байтаКороче, чем ответ Раффи ...
-1 благодаря 60919 (FlipTack).
источник
lambda x:' '.join(x)+' '
это на 1 байт короче.C, 50 байтов
Немного
main()
рекурсии :)Попробуйте онлайн! - Если вы используете это на своем компьютере, используйте Ctrl+ Dдля обозначения EOF.
источник
C, 56 байт (в качестве аргумента программы), 46 байт (из стандартного ввода)
Простой старый C ответ. После компиляции программа должна вызываться со строкой в качестве первого параметра, строка с пробелами должна быть заключена в кавычки. Для примера в стартовом посте:
Который будет выводить
Решение, которое читает прямо из стандартного ввода.
На один байт меньше благодаря @FryAmTheEggman
источник
stdin
а не принимать их в качестве аргумента. Кроме того, вот страница с некоторыми полезными советами для дальнейшего игры в гольф на C: codegolf.stackexchange.com/q/2203/13877getchar()
короче. Также вам не нужно включение для большинства компиляторов Си.R, 36 байт
Пример:
источник
sep=" "
, так что это может быть намного короче: попробуйте онлайн!Серьезно, 7 байтов
Попробуйте онлайн!
Человек, которому требуется конечное место, добавил 3 дополнительных байта. Без него
,' j
работало бы 4.Объяснение:
источник
GolfScript, 6 байт
Попробуйте онлайн!
источник