/* 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>
Antworten:
Netzhaut , 1 Byte, Summe = 58 (ASCII)
Dies zählt die Übereinstimmungen
:
in der Eingabe ( 0 ), so dass es gedruckt wirdDie Codepunkte von
:
,0
und LF (Zeilenvorschub) sind 58 , 48 bzw. 10 und 58 = 48 + 10 .Probieren Sie es online!
quelle
ArnoldC, 316 Byte, Summe 20992 (ASCII)
Spaß genug.
Ich habe dies und das benutzt , um meine Berechnungen durchzuführen. Hat anderthalb Stunden gedauert. Aber Spaß.
Probieren Sie es online!
Wie es funktioniert
STICK AROUND
ist eine Schleife, die2048
Zeiten auf dem Index durchläuftiaV
, aber dieser Index schreitet voran8
. Es gibt also256
Schleifen, DruckenH
und einen Zeilenvorschub (72 + 10 = 82, 82 * 256 = 20992).Dies ist immer noch SEHR GOLFBAR (indem Sie andere Kalkulationen finden), aber es ist lang und langweilig, Ihre Bytesumme jedes Mal zu messen, wenn Sie eine Änderung vornehmen.
Bitte sagen Sie mir, wenn ich mich irre.
quelle
Holzkohle , 1 Byte, Summe = 180 ( Charcoal SBCS )
Probieren Sie es online! Hat in Charcoals Codepage
⁴
einen Code von0xB4 = 180
, während die Ausgabe 4-
s beträgt4 * 45 = 180
.quelle
Python 2, 11 Bytes, Summe 838 (ASCII)
druckt
Nicht sehr klug, aber es funktioniert
Probieren Sie es online!
quelle
Gelee, 12 Bytes, Summe 948 (SBCS)
Du sagtest:
dann ist es Jelly, 12 Bytes.
Hat Spaß gemacht, da ich Jelly überhaupt nicht kenne.
Wie es funktioniert
Ich habe keine Ahnung. Aber
³
legt man 100 in den Stapel,,
legt den Stapel in ein Array oder so,:
könnte das Ding verketten, während manD
jeden Buchstaben der letzten Ziffer (die nicht existiert) auflistet, und +++ sind zum Spaß. Die erste und letzte Zeile hat keinen Einfluss auf die Ausgabe :)Probieren Sie es online!
Benutzt dies um zu zählen.
quelle
³
undD
mache es, aber frag mich nicht, was WTF sonst noch macht." - Dies wäre auch mein Bericht, wenn ich eine Gelee-Antwort machen würde.CJam / Japt / bc, 2 Bytes, Summe 97 (ASCII)
A
Probieren Sie es online (CJam), Probieren Sie es online (Japt) (danke @shaggy),
Die bc-Version funktioniert auf der Kommandozeile, aber nicht mit TIO.
Ausgänge
10
Quelle: A+ Space= 65 + 32 = 97
Ausgabe: 1+ 0 = 49 + 48 = 97
quelle
bc
Programm ausgeführt und dann eingetipptA
. Soll ich es bc REPL nennen?Haskell , 9 Bytes, Bytesumme 743 (ASCII)
Code:
Ausgabe:
Probieren Sie es online!
quelle
Kubisch , 4 Bytes, Summe 141 (ASCII)
Ausgänge
3636
. Probieren Sie es online! Und hier ist der ASCII-Summenprüfer, den ich verwendet habe.Erläuterung:
%
bedeutet "Gesichtssumme als Ganzzahl drucken".4
druckt die Summe aller Werte zweimal auf die Rückseite (36).E
ist ein No-Op, nur verwendet, um die erforderliche Summe zu erhalten.quelle
Einige dieser Antworten enthalten Zeichen, die für Sie wahrscheinlich unsichtbar sind (insbesondere ASCII 17). Klicken Sie auf die TIO-Links, um deren Platzierung anzuzeigen.
Klein 100/110, 4 Bytes, Summe 147
Probieren Sie es online!
Ausgabe:
Klein 201, 4 Bytes, Summe 147
Probieren Sie es online!
Ausgabe:
Klein (beliebige Topologie), 5 Byte, Summe 221 (ASCII)
Probieren Sie es online!
Dies wird gedruckt
quelle
Java 7,
8885 Bytes, Summe780876177507 (ASCII)Mit ziemlicher Sicherheit golfen. Es ist ziemlich einfach zu optimieren, da wir einige freie Variablen wie den Namen der Klasse und den Namen des Programmargumentparameters haben, die wir frei ändern können.
Online testen!
Probieren Sie es online!
Java 8, 84 Bytes, Summe 7434
Der Kredit geht an Kevin Cruijssen .
Online testen!
Probieren Sie es online!
quelle
interface A{static void main(String[]G){for(int A=59;A-->0;)System.out.print("~");}}
um es um 4 Bytes zu golfen und es auf 7434 als Summe zu senken. Probieren Sie es hier aus. und Überprüfen Sie die resultierende Summe.Python 2 , 11 Bytes, Bytesumme 854 (ASCII)
Code (mit nachfolgender Newline):
Ausgabe (mit nachfolgender Newline):
Probieren Sie es online!
quelle
Brainfuck , 3 Bytes - Bytesumme 255 (ISO-8859-1)
Probieren Sie es online!
Benötigt 8-Bit-Zellen. Gibt das Zeichen
ÿ
mit dem Wert 255 aus. Das¤
Füllen der Summe ist verboten .quelle
V , 2 Bytes, Summe 255 (Latin1)
Probieren Sie es online!
Hexdump:
Das erste Zeichen ist ctrl-^oder LATIN1 / ASCII-Code-Punkt
0x1E
. Das zweite Zeichen ist alt-aoder das LATIN1-Zeichen0xE1
. Dieses Programm gibt ausÿ
, was0xFF
in LATIN1 ist.Wie funktioniert es?
Das erste Zeichen ist ein No-Op. Es hat keinerlei Auswirkung auf das Programm. Das zweite Zeichen ist der Befehl zum Anhängen eines einzelnen Zeichens . Wir geben jedoch nicht an, welches Zeichen angehängt werden soll. Aufgrund impliziter Endungen wird das Zeichen angehängt, mit dem V signalisiert, dass das Programm beendet ist
0xFF
.quelle
05AB1E , 5 Bytes, Summe 256 (05AB1E Base-255-Übersetzung)
Probieren Sie es online!
Dies gibt aus:
1606938044258990275541962092341162602522202993782792835301376
Was unter Verwendung der Codepage von 05AB1E zu Folgendem führt:
[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]
Welches ist:
256
Wo der Code ist:
ΔTnon
Mit Code-Punkten:
[79, 29, 49, 50, 49]
Welches ist:
256
quelle
1
als 49 , nicht 1 .base(char, 255)
, ich hatte (scheinbar falsch) angenommen, dass sie ein und dasselbe sein würden.Taxi , 543 Byte, Summe 47124 (ASCII)
Probieren Sie es online! ( Überprüfung der Punktzahl )
Die Ausgabe ist 374 Tilden
~
.quelle
Mathematica, 2 Bytes, Summe = 101 (ASCII)
E + Space gibt e zurück
Mathematica, 2 Bytes, Summe = 105 (ASCII)
es funktioniert auch für mich
I + Space gibt i zurück
quelle
Gelee , 3 Bytes, Summe = 152 (ASCII)
Probieren Sie es online!
quelle
Gehirnflocke (Regenflocke) , 79 Bytes
Probieren Sie es online!
Dies wird
16
31 Mal gedruckt und eine neue Zeile.Brain-Flak (BrainHack) , 55 Bytes
Probieren Sie es online!
Dies druckt
16
und ein Leerzeichen 18 mal.Auch 55 Bytes
Probieren Sie es online!
Diesem Ausdruck
12
folgt ein 19-faches Leerzeichen.quelle
Vim , 3 Bytes, Summe 234 (ASCII)
Ausgabe:
Probieren Sie es online!
quelle
Cubix , 20 Bytes, Codepunktsumme 1505
Enthält das nicht druckbare Zeichen
DEL
(ASCII 127).Q
Schübe"
(die größte verfügbare Konstante in cubix), dann druckt wiederholt (O
)68
oder102
oft genug , es zu bekommen68686868686868102102102102102
die 1505; Durch Versuche und Irrtümer wurde mir klar, dass ich 81 Punkte mehr benötigte als.
(ein Cubix No-Op und ASCII46
), was zur Notwendigkeit führteDEL
, was in Cubix immer noch ein No-Op ist.Probieren Sie es online!
Auf einem Würfel:
quelle
Gleichstrom, 7 Bytes, Summe 720 (ASCII)
(91 + 109 + 121 + 93 + (102 * 3) = 720)
Ausgänge:
((109 + 121 + 10) * 3 = 720)
quelle
Karotte , 4 Bytes, Summe = 279 (ASCII)
Probieren Sie es online!
Druckt
]]]
.quelle
^*3
war 187, also habe ich versucht zu lösenx+187=4x
, aber das ergab keine ganzzahligen Lösungen. Also bin ich weitergegangen^*2
, die haben mir186+x=3x
was gegebenx
als93
, der Code Punkt von]
. Das war alles, was ich getan habe :)¹^*1
auch funktioniert. Wenn ich meine Mathe richtig gemacht habe, ist das so. Obwohl das der Unicode-Wert ist, nicht utf8.Kubisch , 3 Bytes, Summe = 105 (ASCII)
Das dritte Byte ist DLE mit dem Codepunkt 16 , die Codepunktsumme des Quellcodes ist also
37 + 52 + 16 = 105 .
Das Programm wird gedruckt
deren Codepunktsumme ist 51 + 54 = 105 .
Probieren Sie es online!
quelle
Cubix , 11 Bytes, Bytesumme 954 (ASCII)
Code:
Ausgabe:
Hier verifiziert!
Probieren Sie es online!
Cubified:
N
Initialisiert den Stack mit 10(!
Dekrementieren und auf Wahrheit prüfen@
auf null haltO^O
Ausgabe der aktuellen Nummer auf die Oberseite umleiten und erneut ausgebenvw
Umleiten zurück zum(
Dekrement, um die Schleife erneut zu beginnenSchau es dir an
quelle
Hülsen , 4 Bytes, Summe 334 ( Hülsen-SBCS )
Ausgabe:
Der Wert einer Ziffer ist gegeben durch
0x3?
(wo?
steht für diese Ziffer) undu
,p
,[
,]
,,
haben Werte0x75
,0x70
,0x5b
,0x5d
,0x2c
- also die Summen sind:Probieren Sie es online!
quelle
JavaScript (ES6), 6 Byte, Summe = 385 (ASCII)
Ausgänge
10000000
. Es gibt andere 6-Byte-Antworten wieh=>1e8
. Versuchen Sie diesen Codepunktzähler:quelle
cQuents , 5 Bytes, Summe 238 (ASCII)
Outputs
1,2,3
oder in cQuents gibt die ersten drei Terme der Sequenz aus1,2,3,4,5,6...
.Hör zu. Dies war buchstäblich das erste Programm, das ich ausprobierte. Der Grund, warum ich es ausprobiert habe, war, dass dies das Programm war, das ich für Output mit der gleichen Länge wie Code verwendet habe . Und es hat verdammt gut geklappt.
Probieren Sie es online!
quelle
Gaia , 4 Bytes, Summe 176 ( SBCS )
Erläuterung
In Gaias Codepage hat der Zeilenvorschub einen Codepunkt von x7F (127 in Dezimal). Druckbare ASCII-Zeichen haben denselben Codepunkt wie in ASCII.
Dies berechnet 6 modulo 5, was 1 ist, und druckt
1
mit einem nachfolgenden Zeilenvorschub.Byte-Werte der Zeichen in der Codepage (in Dezimalzahl):
6 5%
: 54 + 32 + 53 + 37 = 1761
: 49 + 127 (Zeilenvorschub) = 176quelle
Trumpscript, 131 Bytes, Summe 10600 (ASCII)
Ist das das wirkliche Leben?
Prüfen Sie dies .
Vielen Dank an @MagicOctopusUrn, dass Sie mir gesagt haben, dass es das gibt.
quelle
Hilfe, WarDoq! , 5 Bytes, Summe 1052 (Latin1)
Druckt
Probieren Sie es online!
Hilfe, WarDoq! kann zwei Zahlen addieren und auf Primzahlen prüfen, so dass dies als gültige Programmiersprache für diesen Metapost gilt .
quelle