/* Configuration */
var QUESTION_ID = 88653; // Obtain this from the url
// It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";
var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk";
var OVERRIDE_USER = 48934; // This should be the user ID of the challenge author.
/* App */
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,]*[^\s,]),.*?(\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,
});
});
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;
if (/<a/.test(lang)) lang = jQuery(lang).text();
languages[lang] = languages[lang] || {lang: a.language, 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 > b.lang) return 1;
if (a.lang < b.lang) 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);
}
}
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;
}
<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>
Ответы:
Brainfuck , 47 байтов
Попробуйте онлайн!
источник
>.<
>++>
C (gcc),
4139 байтисточник
main(i){while(11-i++)puts("**********");}
это альтернатива, такой же длины.puts()
(и начального значенияi
).Bash + coreutils, 19 байт
Я предпочитаю повторять вещи в Bash, используя «да».
Я сэкономил 2 байта по предложению @ Neil. Но когда каталог, в котором вы работаете, эта команда не только содержит файлы, начинающиеся с '.' точка вам нужно приложить звезды
*
с"
.Bash + coreutils, 21 байт
источник
yes
. Мы обычно обозначаем такие решения как «Bash + coreutils».head
..
?yes \**********|head
без ограничений на файлы.Vim,
138 байтСохранено 5 байтов благодаря @Lynn
10i*␛
вставьте 10 раз*
,Y9p
скопируйте строку и вставьте ее 9 раз.источник
10i*♥Y9p
работает.yy9p
себя, но хорошая работа, используя заглавные буквы, чтобы спасти персонажа!Pyth, 6 байт
T
равен 10 в Pyth,Vab
выполняет операторыb
a
times,\*
является символьной константой звездочки и умножает (*
) строку и целое число, повторяет эту строку n раз. Неявная печать ПитаV
означает, что напечатано 10 строк.источник
Hexagony,
37353431Expanded:
Попробуйте онлайн
В основном просто есть два цикла for, отсчитывающих от десяти до нуля, распечатывающих звездочку на внутреннем цикле и новую строку на внешнем цикле.
Объяснение:
Эта программа состоит из трех основных частей: инициализация памяти, цикл, который печатает десять звездочек, и цикл, который печатает новую строку. Цикл, который печатает новую строку, также содержит цикл, который печатает звездочки.
Во-первых, код выполняет полностью линейную инициализацию памяти. Код работает как:
10"+}42
. Это устанавливает память о соседних краях, чтобы выглядеть так:42 - код ASCII для символа звездочки, и эти два десятка будут использоваться в качестве наших счетчиков циклов. Следует отметить, что указатель памяти в данный момент направлен в сторону от двух десятков, поэтому перемещение назад поставит нас на одну из десятков.
Далее мы запускаем цикл печати звездочки. Линейно, код выглядит следующим образом :
;".._(
. Это распечатывает звездочку, перемещает указатель памяти назад и влево и, наконец, уменьшает значение там. После одной итерации память будет выглядеть так:Затем мы попадаем в условие цикла: крайний левый край
>
. Если край, который мы только что уменьшили, все еще является положительным, мы отскакиваем и выполняем a,{
чтобы переместить нас обратно на 42. Затем мы нажимаем a$
и возвращаемся к началу цикла печати;
, пропуская<
. Если значение было равно нулю, мы отправляемся в другой цикл.Внешний цикл начинается с обнуления недавно обнуленного края памяти до десяти (это
10
в коде, идущем на юго-запад). Затем мы печатаем эту десятку как символ ASCII, который является новой строкой. Далее мы переходим на другой край памяти и уменьшаем его ,{(
а затем выполнить то , что составляет кучу Без операционное:=${_=
. Теперь, после одной итерации этого цикла, память будет выглядеть так:На этот раз память обращена наружу от края, сохраняя девять на диаграмме выше. Затем мы выполняем,
<
который действует как условие цикла для внешнего цикла. Если значение было ненулевым, мы отскакиваем от некоторых зеркал, затем начинаем выполнять значимые инструкции снова после входа в вершину шестиугольника на"
движущемся юго-западе. Это заставляет нас двигаться назад и влево, снова на 42, но лицом внутрь. Затем=
переворачивает наше направление, правильно сбрасывая состояние, чтобы снова начать внутренний цикл. Если край был установлен в ноль, указатель инструкции отправляется в небольшое приключение, которое ничего не делает, пока не выйдет из программы.Приключение начинается с указания указателя, отправляющегося на северо-восток, опасно игнорируя безопасность основных направлений. Он смело игнорирует зеркало, которое выровнено с его направлением (
/
), и героически выпрыгивает из батута ($
полностью уклоняясь от смертельной ловушки другого, совершенно идентичного батута. Взглянув на пустоту неинициализированных ребер шестиугольника, указатель, не колеблюсь ни на минуту, добавляет два пустых ребра, с которыми он сталкивается, устанавливая текущее ребро в их сумму: 0 (ребро было фактически нулевым заранее, но указатель любит считаю, что это было довольно важно). Поскольку край равен нулю, указатель делает разворот налево на развилке дороги, идя в таинственный лес (из шестиугольников). Там он оказывается дезориентированным, двигаясь вперед и назад и вперед, пока не окажется в том же месте в памяти, что и начался. Думая, что проблема должна заключаться в том, что текущий фронт был установлен в ноль в прошлый раз, указатель смело устанавливает1
в текущий край. Затем благородный указатель исследует другой путь, проложенный с ... ловушкой! Текущее ребро уменьшается и возвращается в ноль! Указатель, ошеломленный шокирующим поворотом событий, возвращается в ловушку, устанавливая текущее ребро в отрицательное. Разъяренный, указатель пытается вернуться в сравнительно приятный лес, только чтобы заметить, что, поскольку текущее ребро не является положительным, пути еще раз сместились, и указатель обнаружил, что идет в пещеру. Под пещерой я подразумеваю пасть гигантского шестиугольного червя. Беспомощный, указатель проклинает сексуальность своим умирающим дыханием. Также программа заканчивается.источник
Emacs,
108 нажатий клавишF3 C-1 0 * ENTER F4 C-9 F4
объяснение
Спасибо Шону за сохранение двух нажатий клавиш, предлагая заменить C-udigitна C-digit.
источник
C-u
считается только одно нажатие клавиши, то вы можете сбрить два удара, набравC-1 C-0
(илиM-1 M-0
) вместоC-u 1 0
иC-9
вместоC-u 9
.F3
C-1
0
*
ENTER
C-1
0
F4
Желе , 7 байт
В чем дело?
Проверьте это на tryitonline
источник
Ṅ9¡
.”*ẋ⁵Wẋ⁵
.Y
в конце, чтобы «напечатать этот точный текст»PowerShell,
1412 байтСоздает строку звездочек длины,
10
используя умножение строк. Инкапсулирует это в скобках и передает это в запятую для построения массива. Мы используем умножение массива для создания массива из 10 элементов, состоящего из этого элемента (т. Е. Из 10 элементов массива звездочек). Это остается на конвейере, и вывод неявный (поскольку по умолчаниюWrite-Output
для массива используется разделение новой строки, мы получаем это бесплатно - спасибо @Joey за разъяснения).Старше, 14 байтов
Полная программа. Петли от
0
до9
доForEach-Object
петли|%{...}
. На каждой итерации мы используем умножение строк для создания10
строки длины*
. Эти результирующие строки остаются в конвейере, а вывод в конце неявен (поскольку по умолчаниюWrite-Output
для массива используется разделение строк новой строкой, мы получаем его бесплатно - спасибо @Joey за разъяснения).источник
ToString
, он разворачивается и передается элемент за элементом в Write-Output. В тех случаях, когда массив преобразуется в строку, его элементы разделяются пробелом.V , 7 байт
Попробуйте онлайн!
Примерно так же просто, как может быть ответ.
Объяснение:
Неконкурентная версия (5 байт):
Объяснение:
Это не сработало, когда задача была опубликована из-за ошибки.
источник
E9
иC4
соответственно.Медуза ,
1210 байтСпасибо Zgarb за сохранение 2 байта.
Попробуйте онлайн!
объяснение
Используя более условные обозначения, эта программа представляет следующее выражение:
&;
принимает одно значение и создает пару с удвоенным значением, так что&;(10)
дает нам[10 10]
. Затем$
происходит изменение формы, которое образует сетку звездочек размером 10х10. Наконец,P
печатает массив в «матричном формате», который печатает каждую строку в отдельной строке.источник
HTML & CSS,
10460 байтЯ не уверен, правильно ли подсчитано число байтов (так как я не считаю
<style>
теги для CSS. HTML-код также можно сократить, если я использую препроцессор HTML, но я не уверен, что это нарушает правилаБлагодаря manatwork и бизнес-кат.
Смотрите мою нефритовую запись 36 байтов
источник
/
s и написать все теги в одной строке. Но лучше поменяйте теги на<p>
более короткие, даже если вам нужно добавитьp{margin:0}
.>
я верюPython 2,
2221 байтисточник
print(("*"*10+'\n')*10)
работал на меня.print
.MATLAB, 14 байтов
источник
*
.mat
предлагает матрицу, поэтому я и спросил.APL , 9 байт
Работает на всех когда-либо сделанных APL.
10 10
десять строк и десять столбцов⍴
циклически г epeating'*'
звездаПопробуй APL онлайн!
источник
∘.⊢⍨⍕⍨,⍨5
Java 7, 63 байта
Просто для удовольствия. Я не могу найти какие-либо хитрости, чтобы сделать это короче. Попытка добавить логику для 100-циклов или вернуть строку вместо печати только в конечном итоге хуже.
источник
i
переменную класса (по умолчанию0
):int i;void f(){for(;i++<10;)System.out.println("**********");}
i=0
то в функции, сводя на нет экономию.int i=10;void f(){System.out.println("**********");if(i-->0)g();}
; Один на один рекурсивный составляет 67 байт:int i=99;void f(){System.out.print(i%10<1?"*\n":"*");if(i-->0)g();}
; Использование Стринг-конструктор с полукокса массива составляет 82 байта:void g(){System.out.print(new String(new char[10]).replace("\0","**********\n"));}
; и string.Format составляет 81 байт:void g(){System.out.print(String.format("%010d",0).replace("0","**********\n"));}
. Ах, хорошо, мы попробовали. ;)Рубин, 15 символов
Образец прогона:
источник
?**10
? Это действительно создает цепочку из десяти звездочек, но мне неясно, как ...?
буквенное обозначение символа, так?* == '*'
. Второй*
являетсяString.*
метод , так?**10 == '*'.*(10)
.?
буквальные обозначения чего-либо, но, возможно, некоторые вопросы лучше оставить без ответа. ;)?
знак, за которым следует символ, не требуя закрывающей пары?
знака.There is also a character literal notation to represent single character strings, which syntax is a question mark (?) followed by a single character or escape sequence that corresponds to a single codepoint in the script encoding:
Блокнот,
3431 нажатие клавиш^ обозначает Ctrl- <следующий символ> нажатие клавиши, ↑ ↓ - клавиши вверх и вниз соответственно.
Реквизит в Crypto для 3 сохраненных нажатий клавиш.
источник
**********↵^A^C↓^V^A^C↓^V^V^V^V
*****^A^C^V^V↵^A^C^V^A^C^V^V^V^V^V
**^A^C^V^V^V^V^V↵^A^C^V^V^A^C^V^V^V^V^V
Эмоджикод , 54 байта
Объяснение:
источник
05AB1E, 7 байтов
объяснение
Попробуйте онлайн
источник
т'*×Tô»
это другой совершенно другой лол.TLú'*ζ»
использование zip-наполнителя было другой идеей ... хотя и плохой.R,
2729 байтАльтернативный ответ (34 байта):
cat(rep('**********',10),sep='\n')
источник
\r
.cat(matrix('*',10,10),fill=10,sep='')
r-fiddlewrite(rep("*",100),"",10,,"")
write(rep("**",50),1,5,,"")
составляет 27 байт и избегает первого возврата каретки.PHP, 32 байта
(вариант 32 байта - было написано с
echo
)(вариант 33 байта)
(вариант 33 байта)
(вариант 35 байт)
(вариант 38 байт)
источник
<?=str_repeat("**********↵",10);
echo chunk_split(str_repeat("*",100),10);
Самый длинный до сих пор, только в моем видении это PHP способ сделать это.for(;++$i<111;)echo$i%11?~Õ:~õ;
илиfor(;++$i<11;)echo~ÕÕÕÕÕÕÕÕÕÕõ;
for(;$i++<110;)echo"*↵"[$i%11<1];
. И добавить раствор 37 байт для этой коллекции:for(;$i++<110;)echo chr($i%11?42:10);
.MATL , 8 байт
Попробуйте онлайн!
источник
Brainfuck,
4643 байтаПопробуйте онлайн! Требуется переводчик с лентой, которая открыта слева и имеет 8-битные ячейки.
Первая часть этой программы
+[[---<]+[-->]<]
настраивает ленту так:Это дает 40 для вывода звездочек (
*
, ASCII 42), 20 для использования в качестве счетчика цикла и 10 для вывода новых строк.источник
JavaScript (ES6), 37 байт
Простой ответ.
источник
alert
?console.log()
и указавREPL
в заголовке.Чеддер,
2120 байтЕще один простой ответ.
источник
->
Может быть, использовать функцию вместо печати?Haskell, 29 байт
<list1> >> <list2>
делает(length <list1>)
копии<list2>
.источник
Р,
353332 байтаÔ Р, ты
иногдатакой многословный .for(i in 1:10)cat(rep("*",10),"\n")
Интересно, что
cat
функция не имеет значения (она предоставляетNULL
STDOUT), поэтому вы не можете делать что-то подобноеrep(cat(rep)))
, что было бы смешнее!РЕДАКТИРОВАТЬ:
Новое решение, предложенное @LeakyNun, -2 байта.
РЕДАКТИРОВАТЬ: сокращение его всего на -1 байт, @ user5957401
источник
for(i in 1:10)"**********\n"
cat
тем не менее, в противном случае ничего не производит.cat(rep("**********\n",10))
cat
это пробел, отсюда и вывод.Сетчатка , 12 байт
Число байтов предполагает кодировку ISO 8859-1. Лидирующий перевод строки значителен.
Первый этап записывает строку из десяти звездочек, второй этап заменяет каждую звездочку всей строкой и переводом строки. Это печатает два конечных перевода строки.
источник
J ,
109 байт1 байт благодаря @ Adám.
Онлайн переводчик .
объяснение
10 10
указывает измерение оператору,$
который создает массив с указанными размерами.источник
'*'$~,~10