/* Configuration */
var QUESTION_ID = 135571; // 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 = 8478; // 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 = (function(){
var headerTag = String.raw `h\d`
var score = String.raw `\-?\d+\.?\d*` // with negative/floating-point support
var normalText = String.raw `[^\n<>]*` // no HTML tag, no newline
var strikethrough = String.raw `<s>${normalText}</s>|<strike>${normalText}</strike>|<del>${normalText}</del>`
var noDigitText = String.raw `[^\n\d<>]*`
var htmlTag = String.raw `<[^\n<>]+>`
return new RegExp(
String.raw `<${headerTag}>`+
String.raw `\s*([^\n,]*[^\s,]),.*?`+
String.raw `(${score})`+
String.raw `(?=`+
String.raw `${noDigitText}`+
String.raw `(?:(?:${strikethrough}|${htmlTag})${noDigitText})*`+
String.raw `</${headerTag}>`+
String.raw `)`
);
})();
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;
lang = jQuery('<i>' + a.language + '</i>').text().toLowerCase();
languages[lang] = languages[lang] || {lang: a.language, user: a.user, size: a.size, link: a.link, uniq: lang};
});
var langs = [];
for (var lang in languages)
if (languages.hasOwnProperty(lang))
langs.push(languages[lang]);
langs.sort(function (a, b) {
if (a.uniq > b.uniq) return 1;
if (a.uniq < b.uniq) 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;
float: left;
}
#language-list {
padding: 10px;
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="https://cdn.sstatic.net/Sites/codegolf/primary.css?v=f52df912b654">
<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>
<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><a href="{{LINK}}">{{SIZE}}</a></td></tr>
</tbody>
</table>
<table style="display: none">
<tbody id="language-template">
<tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td><a href="{{LINK}}">{{SIZE}}</a></td></tr>
</tbody>
</table>
Ответы:
Сетчатка , 1 байт, сумма = 58 (ASCII)
Это считает совпадения
:
во входных данных ( 0 ), поэтому он печатаетТочки кода
:
,0
и LF (перевод строки) составляют 58 , 48 и 10 (соответственно), а 58 = 48 + 10 .Попробуйте онлайн!
источник
ArnoldC, 316 байтов, сумма 20992 (ASCII)
Достаточно весело.
Я использовал это и это, чтобы сделать мои расчеты. У меня ушло полтора часа. Но весело.
Попробуйте онлайн!
Как это устроено
STICK AROUND
это цикл, который зацикливает2048
время на индексеiaV
, но этот индекс шаг за шагом8
. Так что есть256
циклы, печатьH
и перевод строки (72 + 10 = 82, 82 * 256 = 20992).Это еще ДАЛЕКО golfable (находя другой Calcs) , но это долго и скучно измерить ваши байты просуммировать каждый раз , когда вы делаете модификацию.
Пожалуйста, скажите мне, если я где-нибудь ошибаюсь.
источник
Древесный уголь , 1 байт, сумма = 180 ( Древесный уголь SBCS )
Попробуйте онлайн! В кодовой странице Charcoal
⁴
есть код0xB4 = 180
, а на выходе 4-
с4 * 45 = 180
.источник
Python 2, 11 байтов, сумма 838 (ASCII)
печать
Не очень умно, но это работает
Попробуйте онлайн!
источник
Желе, 12 байт, сумма 948 (SBCS)
Вы сказали:
тогда это желе, 12 байт.
Было весело, так как я совсем не знаю желе.
Как это устроено
Понятия не имею. Но
³
он помещает 100 в стек,,
помещает стек в массив или что-то еще,:
может объединять вещи, в то время какD
перечисляет каждую букву последней цифры (которой не существует), и +++ для развлечения. Первая и последняя строка не влияет на вывод :)Попробуйте онлайн!
Использовал это для подсчета.
источник
³
иD
делает, но не спрашивай меня, WTF, что еще делает». - Это также будет моя статья, если я сделаю ответ желе.CJam / Japt / bc, 2 байта, сумма 97 (ASCII)
A
Попробуйте онлайн (CJam), Попробуйте онлайн (Japt) (спасибо @shaggy),
Версия bc работает в командной строке, но не в TIO.
Выходы
10
Источник: A+ Space= 65 + 32 = 97
Выход: 1+ 0 = 49 + 48 = 97
источник
bc
программу и набралA
. Должен ли я назвать это до н.э. REPL?Haskell , 9 байтов, сумма байтов 743 (ASCII)
Код:
Выход:
Попробуйте онлайн!
источник
Кубически , 4 байта, сумма 141 (ASCII)
Выходы
3636
. Попробуйте онлайн! А вот контрольная сумма ASCII, которую я использовал.Объяснение:
%
означает «напечатать сумму лица как целое число».4
печатает сумму всех значений на грани НАЗАД (36) дважды.E
не используется, просто используется для получения необходимой суммы.источник
Некоторые из этих ответов содержат символы, которые, вероятно, будут вам невидимы (в частности, ASCII 17), щелкните ссылки TIO, чтобы увидеть их размещение.
Кляйн 100/110, 4 байта, сумма 147
Попробуйте онлайн!
Выход:
Кляйн 201, 4 байта, сумма 147
Попробуйте онлайн!
Выход:
Кляйн (любая топология), 5 байтов, сумма 221 (ASCII)
Попробуйте онлайн!
Это печатает
источник
Java 7,
8885 байтов, сумма780876177507 (ASCII)Почти наверняка пригодный для игры в гольф. Это довольно легко настроить, так как у нас есть некоторые запасные переменные, такие как имя класса и имя параметра аргументов программы, которые мы можем свободно изменять.
Проверьте это онлайн!
Попробуйте онлайн!
Java 8, 84 байта, сумма 7434
Кредит идет Кевину Круйссену .
Проверьте это онлайн!
Попробуйте онлайн!
источник
interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}
для игры в гольф на 4 байта и уменьшения суммы до 7434. Попробуй это здесь. и проверьте полученную сумму.Python 2 , 11 байтов, сумма байтов 854 (ASCII)
Код (с завершающим переводом строки):
Вывод (с завершающим переводом строки):
Попробуйте онлайн!
источник
Brainfuck , 3 байта - сумма байтов 255 (ISO-8859-1)
Попробуйте онлайн!
Требуется 8-битные ячейки. Печатает символ
ÿ
, значение которого равно 255.¤
Запрещено заполнять сумму.источник
V , 2 байта, сумма 255 (Latin1)
Попробуйте онлайн!
HexDump:
Первый символ ctrl-^, или LATIN1 / ASCII кодовая точка
0x1E
. Второй символ alt-a, или символ LATIN10xE1
. Эта программа выводитÿ
, что находится0xFF
в LATIN1.Как это работает?
Первый персонаж - неоператор. Это никак не влияет на программу. Второй символ - команда добавления одного символа . Но мы не указываем, какой символ добавить. Таким образом, из-за неявных окончаний он добавляет символ, который использует V, чтобы сигнализировать о завершении программы, что и происходит
0xFF
.источник
05AB1E , 5 байтов, сумма 256 (перевод 05AB1E Base-255)
Попробуйте онлайн!
Это выводит:
1606938044258990275541962092341162602522202993782792835301376
Что, используя кодовую страницу 05AB1E, приводит к:
[1, 6, 0, 6, 9, 3, 8, 0, 4, 4, 2, 5, 8, 9, 9, 0, 2, 7, 5, 5, 4, 1, 9, 6, 2, 0, 9, 2, 3, 4, 1, 1, 6, 2, 6, 0, 2, 5, 2, 2, 2, 0, 2, 9, 9, 3, 7, 8, 2, 7, 9, 2, 8, 3, 5, 3, 0, 1, 3, 7, 6]
Который:
256
Где код:
ΔTnon
С кодовыми точками:
[79, 29, 49, 50, 49]
Который:
256
источник
1
как 49 , а не 1 .base(char, 255)
, я предположил (по-видимому, неправильно), что они будут одним и тем же.Такси , 543 байта, сумма 47124 (ASCII)
Попробуйте онлайн! ( Проверка баллов )
Выход составляет 374 тильды
~
.источник
Mathematica, 2 байта, сумма = 101 (ASCII)
E + Space возвращает e
Mathematica, 2 байта, сумма = 105 (ASCII)
это работает для меня тоже
I + Space возвращает я
источник
Желе , 3 байта, сумма = 152 (ASCII)
Попробуйте онлайн!
источник
Брейк-Флак (Rain-Flak) , 79 байт
Попробуйте онлайн!
Это печатает
16
и перевод строки 31 раз.Brain-Flak (BrainHack) , 55 байт
Попробуйте онлайн!
Это печатает
16
и пробел 18 раз.Также 55 байтов
Попробуйте онлайн!
Это печатает с
12
последующим пробелом 19 раз.источник
Vim , 3 байта, сумма 234 (ASCII)
Выход:
Попробуйте онлайн!
источник
Cubix , 20 байтов, сумма кода 1505
Содержит непечатный символ
DEL
(ASCII 127).Q
нажимает"
(самая большая константа, доступная в cubix), затем многократно печатает (O
)68
или102
достаточное количество раз, чтобы получить его до68686868686868102102102102102
1505; Путем проб и ошибок я понял, что мне нужно на 81 балл больше, чем.
(Cubix no-op и ASCII46
), что привело к необходимостиDEL
, которая до сих пор не включена в Cubix.Попробуйте онлайн!
На кубе:
источник
постоянный ток, 7 байтов, сумма 720 (ASCII)
(91 + 109 + 121 + 93 + (102 * 3) = 720)
Выходы:
((109 + 121 + 10) * 3 = 720)
источник
Морковь , 4 байта, сумма = 279 (ASCII)
Попробуйте онлайн!
Печать
]]]
.источник
^*3
была 187, поэтому я попытался решитьx+187=4x
, но это не привело к целочисленным решениям. Так что я продолжил^*2
, что у меня,186+x=3x
который дал мне,x
как93
, точка кода]
. Это было все, что я сделал :)¹^*1
также работает. Если я правильно сделал математику, то это так. Хотя это значение Unicode, а не UTF8.Кубически , 3 байта, сумма = 105 (ASCII)
Третий байт - это DLE , который имеет кодовую точку 16 , поэтому сумма кодовых точек исходного кода составляет
37 + 52 + 16 = 105 .
Программа печатает
чья сумма кодовых точек равна 51 + 54 = 105 .
Попробуйте онлайн!
источник
Cubix , 11 байтов, байтовая сумма 954 (ASCII)
Код:
Выход:
Проверено здесь!
Попробуйте онлайн!
Cubified:
N
инициализирует стек с 10(!
декремент и проверка на правдивость@
на нулевой остановкеO^O
вывести текущий номер перенаправить на верхнюю грань и снова вывестиvw
перенаправить обратно на(
декремент, чтобы снова начать циклСмотреть это беги
источник
Шелуха , 4 байта, сумма 334 ( шелуха SBCS )
Выход:
Значение цифры задаются
0x3?
(где?
обозначает эту цифру) иu
,p
,[
,]
,,
имеют значение0x75
,0x70
,0x5b
,0x5d
,0x2c
- таким образом суммы являются:Попробуйте онлайн!
источник
JavaScript (ES6), 6 байтов, сумма = 385 (ASCII)
Выходы
10000000
. Есть и другие 6-байтовые ответы, такие какh=>1e8
. Попробуйте этот счетчик кодов:источник
cQuents , 5 байтов, сумма 238 (ASCII)
Outputs
1,2,3
, или в терминах cQuents, печатает первые три члена последовательности1,2,3,4,5,6...
.Теперь слушай. Это была буквально первая программа, которую я попробовал. Причина, по которой я попытался это сделать, заключалась в том, что эту программу я использовал для вывода такой же длины, как и код . И это чертовски сработало.
Попробуйте онлайн!
источник
Gaia , 4 байта, сумма 176 ( SBCS )
объяснение
В кодовой странице Gaia, перевод строки имеет кодовую точку x7F (127 в десятичном виде). Печатные символы ASCII имеют ту же кодовую точку, что и в ASCII.
Это вычисляет 6 по модулю 5, который равен 1, и печатается
1
с завершающим переводом строки.Значения байтов символов в кодовой странице (в десятичном формате):
6 5%
: 54 + 32 + 53 + 37 = 1761
: 49 + 127 (перевод строки) = 176источник
Trumpscript, 131 байт, сумма 10600 (ASCII)
Является ли это реальная жизнь?
Проверьте с этим .
Спасибо @MagicOctopusUrn за сообщение, что существует.
источник
Помогите, WarDoq! 5 байтов, сумма 1052 (Latin1)
Печать
Попробуйте онлайн!
Помогите, WarDoq! Можно добавить два числа и проверить на простые числа, поэтому он считается допустимым языком программирования для этой мета-записи .
источник