var QUESTION_ID=128104,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/128104/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>
Ответы:
Древесный уголь , 23 байта
Попробуйте онлайн! Объяснение: Печатает строки в следующем порядке, затем отражает все по горизонтали:
источник
‖B
расшифровывается как «Reflect Butterfly»JavaScript (ES6),
144143140138134 байтаРекурсивная функция, рисующая выходной символ за символом с чисто условным выражением.
Как?
Для каждой позиции 0 <p ≤ 363 определим:
Ниже приведена разбивка формулы, из которой выбирается соответствующий символ
[ '\', '/', ' ', '_', '\n' ]
.И ниже различные части в системе координат, определенной выше:
демонстрация
Показать фрагмент кода
источник
05AB1E , 50 байтов
Попробуйте онлайн!
Сжатие:
Стратегия здесь состояла в том, чтобы построить половину объекта, а затем отразить изображение на полпути. Для этого я сначала построил левую половину с передним отступом:
Но правого отступа нет, это потому, что
.B
функцию в 05AB1E можно использовать, чтобы сделать каждый элемент равным по длине, используя пробелы. Это позволяет мне опускать посторонние пробелы справа и просто разграничивать их новыми строками. Затем я взял этот шаблон и удалил все символы новой строки, заменив их4
на:Сжатие этого с base-255 приводит к:
Где два
•
обозначает сжатую строку base-255, а 5B преобразует ее в base-5.Вторая часть, после сжатия:
источник
è
, конечно!V 61 байт
Попробуйте онлайн!
HexDump:
источник
Python 2 ,
226213 байт,179 байтМой первый гольф!
Попробуйте онлайн!
Я попытался зациклить биты, на которых я мог найти образец, и жестко запрограммировал остальные. Установка различных символов в переменную позволила сэкономить довольно много байтов.
Редактировать: решил добавить в один и тот же массив вместо объединения несколько раз. Сохранено 13 байт.
Изменить 2: благодаря @ValueInk, @jacoblaw, @WheatWizard, @CalculatorFeline и @ Challenger5, сэкономлено 34 байта
источник
b,f,s,u='\/ _';o,a='/ /','\ \\'
экономит 11 байтов по сравнению с текущей переменной инициализации! Смотрите здесьo
иa
используются только один раз в коде. Вот он с ними вписан.0,1,2,3
вместо того,range(4)
чтобы сохранить байт.J 155 байт
Попробуйте онлайн!
Это функция, которая не ожидает ввода. Например,
f =: <code>
тогдаf ''
.объяснение
Я закодировал это, используя следующие шаги. Предположим, что искомая строка сжатия содержится в переменной
h
.Тогда нам просто нужно расшифровать это.
5#.inv 95x#.32-~3 u:
выполняет обратное тому, что я только что описал, давая нам список индексов. Затем('_ /\',LF){~
применяет соответствующие символы для каждого индекса.источник
Mathematica, 227 байт
источник
Древесный уголь ,
47 4341 байтПопробуйте онлайн!
Я ничего не знал о древесном угле до сих пор, я чувствовал, что «я понятия не имею, что я делаю», пытаясь выяснить этот ответ ... Я вполне уверен, что это может быть много в гольфе.
Обновления:
источник
‖B
но я не мог понять, как ... хороший ответ!Рубин, 117 байт
источник
Сетчатка ,
129114102 байтСпасибо ovs за -12 байтов!
Попробуйте онлайн!
источник
05AB1E ,
928680 байтПопробуйте онлайн!
Пояснения по частям
Бар наверху
Линия сразу под барной стойкой
Остальная часть верхней части шестиугольника
Остаток за исключением двух последних строк
От второй до последней строки
Последняя строка
В
»
конце все соединяется на новых строках.источник
{_
становится{_{
, где с зеркалом оно становится{_}
. Palendromize естьû
, а зеркало есть∞
. Есть также пересеченное зеркало, которое есть.∞
.C #,
210199 байтовКодирует длину пробелов и подчеркиваний:
Ungolfed:
Попробуйте онлайн!
источник
Сетчатка , 129 байт
Попробуйте онлайн! Совершенно другой подход, но по совпадению одинаковая длина!
источник
/// , 152 байта
Попробуйте онлайн!
источник
MATL ,
5855 байтПопробуйте онлайн!
источник
Pyth , 111 байт
Этот код в основном печатает строки одну за другой (наивным способом). Да, это отстой, но сейчас я не в состоянии преуспеть , и я все еще хотел отдать дань уважения HyperNeutrino .
Попробуйте онлайн!
источник
PHP , 122 байта
Попробуйте онлайн!
PHP , 158 байт
Попробуйте онлайн!
PHP , 165 байт
Попробуйте онлайн!
источник
SOGL V0.12 ,
5352 байтаПопробуй здесь!
источник
Python 2 , 187 байт
Попробуйте онлайн!
источник
C # (.NET Core) , 169 байт
Ungolfed:
Для каждого штриха я кодировал начальную позицию, длину, используемый символ и направление в различных строках. Я сэкономил несколько байтов, сгруппировав похожие штрихи.
К сожалению, это печатает немного странно в Тио. Это потому, что я не распечатываю реальные места. Выглядит хорошо в моей консоли, хотя. Так что, вероятно, это представление не считается. Вот ссылка в любом случае.
Попробуйте онлайн! (поддельные пробелы 169 байт)
Попробуйте онлайн! (реальные пробелы 191 байт)
источник
Python 2 ,
154138 байтПопробуйте онлайн!
источник
Кисть , 43 байта, неконкурентная
объяснение
Бета-тестирование в реальном мире:
Должен сделать много улучшений, да. :П
источник
Bubblegum ,
6754 байтаПопробуйте онлайн!
источник
C (gcc) , 200 байтов
Попробуйте онлайн!
источник