var QUESTION_ID=90349,OVERRIDE_USER=58717;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>
a
auch gut genug ist?A
aus offensichtlichen Gründen.U
für Unicode-Escape-Strings (\u0041
isA
),X
für Hex-Escape-Strings (\x41
),+
für Unicode-Ordnungszahlen (U+0041
),&
für HTML-Entitäten,#
denn ich weiß eigentlich nicht,65
ist die Dezimal-Ordnungszahl vonA
,41
ist die Hex-Ordnungszahl vonA
,97
ist die Dezimal-Ordnungszahl vona
und0
aus einigen der vorherigen Gründe.Antworten:
Pluso, 1 Byte
Pluso Esolangs Seite .
Pluso enthält einen einzelnen Akkumulator, der mit dem Wert 1 beginnt. Er verwendet zwei Befehle, p, die den Akkumulator inkrementieren (Mod 27) und o, die den aktuellen Wert als ASCII-Großbuchstaben, AZ oder Leerzeichen (wobei 1-26 für steht) ausgeben AZ bzw. 0 steht für Leerzeichen).
Da der Speicher bei 1 startet, wird der Befehl o ohne vorherige p Willen Ausgang A .
quelle
Python 2, 14 Bytes
Der Ausdruck
3<3
gibt den BooleschenFalse
Wert und die Backticks die Zeichenfolgendarstellung an'False'
. Von hier bleibt es, den Brief zu extrahierena
. Python ist 0-indiziert, dasa
ist also at index1
, ein gesperrtes Zeichen. Es kann ausgedrückt werden als3-2
, aber es gibt einen kürzeren Weg. Python ermöglicht die Indizierung von hinten, mit Index-1
für den letzten Eintrag,-2
für den vorhergehenden usw. Wir wollen Index-4
, aber es4
ist auch eine verbotene Zahl. Aber wir können es so ausdrücken, dass wir~3
das Bit-Komplement verwenden~
, das-n-1
für gibt~n
.quelle
[2]
anstatt[~3]
?[1]
.1
und4
'verbotene' Nummern ??Pyth, 2 Bytes
Testen Sie es im Pyth-Compiler .
Wie es funktioniert
quelle
PHP,
96 BytesFür 9 Bytes: Inspiriert von der Antwort von @Ton Hospel . Außerdem hat es den zusätzlichen Vorteil, dass es ein bisschen wie ein Kaomoji aussieht. :-)
Die 6 Bytes verbesserte Version:
Dabei hat ¾ den Hex-Code 0xBE (es ist wichtig, die Datei in Latin-1-Codierung zu speichern , nicht in UTF-8!).
quelle
f^E^b
.^_^
A
. Es druckt=A
.=
Zeichen nicht aus.05AB1E,
32 BytesErläuterung
Probieren Sie es online aus
Dank Adnan 1 Byte gespeichert
quelle
Th
für zwei Bytes :)Brainfuck, 16 Bytes
Dies basiert auf Esolangs Brainfuck-Algorithmus für 159 .
Probieren Sie es online!
quelle
+
. (der kürzeste Weg zum Drucken von A wäre>+[+[<]>>+<+]>.
), aber dank der Liste der Konstanten auf Esolang nicht zu schwer.JavaScript (ES6),
171614 BytesZwei Bytes gespart dank Neil!
Gibt das zweite Zeichen
NaN
, das ista
.Dies ist die kürzeste, die ich mir vorstellen konnte
A
,43 bis42 Bytes:Wer sagt, dass es beim Code-Golf nicht hilft, ein Verschleierer zu sein? Nicht ich!
Erklärungen
Der erste in der Tiefe.
-_
ist NaN, weil_
undefiniert. Um dies als Zeichenfolge zu erhalten, müsste eine der folgenden Bedingungen erfüllt sein:Der letzte ist zu lang und der erste verwendet
+
. Also benutzen wir den zweiten. Jetzt ist dera
Index1
. Das ist nicht gut, weil1
es verboten ist. Da es sich jedoch um eine Vorlagenzeichenfolge handelt, können wir dort ein Leerzeichen einfügen, um sie am Index2
zu platzieren` ${-_}`
.Der zweite in der Tiefe.
Dieser war ein Trottel.
Dies ist das 9. Zeichen der inneren Vorlagenzeichenfolge,
-~8
das gleich 9 ist. In diesem Fall dient diese Vorlagenzeichenfolge nur zur Stringifizierung. Hierbei handelt es sich um die innere Gleichung, die zwischen den${...}
folgenden Elementen aufgestellt wird :Lassen Sie uns dies etwas erweitern:
Dadurch wird die Eigenschaft aus einem leeren Array abgerufen. Diese Eigenschaft ist natürlich eine Vorlagenzeichenfolge, aber sie enthält Text. Es ist ungefähr gleichbedeutend mit:
`constr${
${!""}
[2]}ctor`Das Innere ist wiederum gleichbedeutend mit:
!_
isttrue
(weil_
istundefined
und!undefined === true
) und stringifiziert ist"true"
. Wir bekommen den zweiten Charakter davonu
; Wir müssen das auf diese Weise erreichen, um zu vermeiden, dassu
unser Code explizit eingegeben wird .Dieses innere Bit ist also äquivalent zu:
Also bekommen wir den Konstruktor des Arrays, die
Array
Funktion. Ich konnte das nicht explizit ausdrücken, weil es das Verbotene enthältA
. Nun ergibt das Aufreihen derArray
Funktion"function Array() { [native code] }"
.Zurück zum Originalcode:
Dies entspricht, wie wir gesehen haben:
Gleichwertig:
Endlich äquivalent zu:
quelle
a
ein verbotenes Zeichen und ist intoUpperCase
.Hexagony , 4 Bytes
Ayyy lmao? Ziemlich golfen für eine nicht-golfende Sprache, haha. Code:
Probieren Sie es online!
Eine besser lesbare Form:
Dies setzt den ASCII-Wert des Buchstabens
B
, der 66 ist, auf den aktuellen Speicherrand. Es subtrahiert es mit(
und druckt es mit;
. Danach wird das Programm mit beendet@
.Obligatorisches Pfadbild:
quelle
Gelee , 3 Bytes
Probieren Sie es online!
Wie es funktioniert
Gelee, 4 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
Eigentlich 2 Bytes
Probieren Sie es online!
Erläuterung:
quelle
CJam, 3 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
Bubblegum , 1 Byte
oder
Jeder schien zu vergessen, dass es existierte ...
quelle
Perl,
98 Bytesxor ist noch erlaubt, aber
say
nicht. Also für 9 Bytes:Die Verwendung der Ausgabe in STDERR ergibt jedoch 8 Bytes:
Ersetzen Sie
\x9e
und\xf5
durch ihre wörtlichen Versionen. Oder generieren Sie die ausführbare Datei mit:quelle
say
(enthält ein) zum Drucken verwenden, solange die Konstruktion des Arguments nicht die verbotenen Zeichen verwendet?print "No using the letter with code point 65";
.> <> , 6 Bytes
dies erzeugt eine Zeichenkette, springt und erzeugt sie rückwärts erneut, dreht die obersten 2 Stapelelemente um und subtrahiert: '|' (124) minus ';' (59) ist 'A' (65)
Probieren Sie es online aus
quelle
'$-o;|
was fast das gleiche aber ohne das Prellen. (|;o-$'
funktioniert auch.)Rubin,
1512 Bytesquelle
$><<
zup
, machtp to_s[-3]
p
ruftinspect
seine Argumente auf, sodass die Ausgabe in Anführungszeichen gesetzt wird, wodurch sie disqualifiziert würde.Java, 55 Bytes
Da der Code gedruckt werden muss, ist einer der beiden integrierten Writer erforderlich.
System.out
ist ja raus, weil es enthältu
.System.err
funktioniert jedoch.Die nächste Hürde ist Javas Umgang mit
char
undint
. Da das Umwandeln in nicht zulässig ist,char
weil es enthälta
und'c' - 2
befördert wird,int
ist ein anderer Mechanismus erforderlich.System.err
ist einePrintWriter
, die einewrite(char)
methode hat aber nichtwrite(int)
. Wenn Sie'c' - 2
dort hineingehen, wird eschar
ohne Besetzung ausgeführt.Schließlich wurde jedes Mal, wenn ich das Programm ausführte, der Puffer
System.err
nicht so geleert, wie er sollte, und das Programm gab nichts aus. Also musste ich es manuell spülen. IstSystem.err.flush()
aber nicht erlaubt, also habe ich angerufenprintln()
was implizit den zugrunde liegenden Stream leert.quelle
MATL, 5 Bytes
Probieren Sie es online
Erläuterung
Meine ursprüngliche Antwort war der direkte Ansatz mit dem vordefinierten Literal,
lY2
das ergibt'A'...'Z'
und dann das erste Element auswählt'A'
.quelle
Javascript,
18 Bytes16 Bytes12 Bytes11 BytesAuf Basis einer modifizierten jsfuck Grundlagen (hatte, um herauszufinden , wie zu ersetzen
+
mit-
).Ungolfed?
Nun, zumindest eine Version mit Kommentaren (beachten Sie, dass diese Version wahrscheinlich nicht ausgeführt wird):
Alte Lösung:
quelle
3
die ganze Sache mit langweiligen so ersetzt ist erlaubt3-2
zu bekommen1
Vim,
16 13 1110 TastenanschlägeVielen Dank an H Walters für das Speichern von zwei Schlüsseln
Vielen Dank an DJMcMayhem für das Speichern eines weiteren!
quelle
:h<cr>
versuchen:h%<cr>
. Das ist ein zusätzliches Zeichen, aber Sie landen in der Hilfe für%
, mit dem Cursor rechts über einem a. Also von hier aus können Sie ersetzen33ll
mitj
.ZZ
anstelle von:q<cr>
eine andere speichern.R,
2712 BytesEDIT: Neue Version, von einer ausgezeichneten Idee von @ Jarko Dubbeldam
Eine ziemlich lustige Herausforderung!
Grundsätzlich wird das
26th
Element des umgekehrten Vektors verwendet, das die Großbuchstaben enthält (LETTERS
das ist der eingebaute Vektor eines R ).Vorherige Version s (gleiche Anzahl von Bytes) :
quelle
LETTERS[T*T]
.T
Wertet aus,1
wenn numerische Operationen ausgeführt werden.> <> ,
74 Bytes3 Bytes dank Teal Pelican gespart
Probieren Sie es online!
Erläuterung
quelle
"B"1-o;
Vim, 2 Tastenanschläge
vim -u NONE
Führen Sie dann Folgendes aus (-u NONE
deaktiviert die Anpassung)Wenn vim im kompatiblen Modus ausgeführt wird, werden die Pfeiltasten nicht richtig interpretiert.
<up>
wird interpretiert,<esc>OA
was folgendes im Einfügemodus belässt. Welche würde verlassen (mit ein paar nachgestellten Zeilenumbrüchen)i
Startet den Einfügemodus.<up>
Beendet den Einfügemodus, öffnet eine Zeile darüber und gibt A in den Puffer einBeispiel für Menschen, die dies in freier Wildbahn erleben. https://stackoverflow.com/questions/6987317/ilst-moving-the-cursor-across-a-vim-process-open-in-a-tmux-session-every-now-a/6988748#6988748
quelle
Brainfuck,
19219 BytesVielen Dank an @ NinjaBearMonkey, der mir geholfen hat, hella Bytes zu retten
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------.Ich bin nicht gut in Brainfuck, also bin ich sicher, dass es eine kürzere Lösung gibt, aber es funktioniert, indem es unter 0 dekrementiert, das Byte überschlägt und so lange weitermacht, bis es auf 'A' abfällt. Dann wird gedruckt.quelle
JavaScript (ES6), 21 Byte
Ich habe ursprünglich versucht,
false
in einen String umzuwandeln , aber es hat damals 23 Byte gedauert. Ich habe mir seitdem einen kürzeren Weg ausgedacht, der für 14 Bytes ist:Ich glaube nicht, dass Sie
A
nach den Regeln einen Großbuchstaben bekommen können , da Sie einen vonString.fromCharCode
oder benötigen.toUpperCase()
, die beide enthaltena
.quelle
C, (19?) 24 Bytes
Danke an Dennis:
die gleiche Länge:
was auch Kleinbuchstaben ermöglicht:
Es gibt eine 19-Byte- Lösung als eine Funktion, die ihren Parameter ändert und einen Fehler aufweist:
Wenn
c
deklariert wurdechar
, wirdg
das Ganzeint
so geändert, dass der Stack zerstört wird, wodurch andere Werte geändert werden oder das Programm mit einer Fehlermeldung abgebrochen wird. Der einzige Weg , zu umgehen , besteht darin zu erklären ,int c;
inmain
und druckte mit"%c"
, aber das fühlt sich an wie ein Schlupfloch.ältere Lösungen
Nur eine Funktion, da
main
ist verboten.quelle
88-23
sollte ein paar Bytes sparen.printf("%c",~'ɦ');
Obwohl dem "A" ein Akzentzeichen hinzugefügt wirdɦ
ist ein 2-Byte-ZeichenGleichstrom, 4 Bytes
Der UCHAR_MAX-Überlauf rollt
sechsmaldurch den Tisch, bevor er bei 65 landet.quelle
Lua, 36 Bytes
Dies hat eine Weile gedauert, da VIELE der Standard - Lua - Funktionen von den Regeln entfernt wurden
math
,string.char
,string.match
,pairs
, auchnext
)Dies nutzt die Tatsache, dass Lua eine globale hat
_VERSION
Lua 5.1
Zeichen , das normalerweise mit "Lua" beginnt (z. B. oder ähnlich für andere Versionen). Sofern dies nicht auf einem Nicht-Mainstream-Interpreter ausgeführt wird, ist das dritte Zeichen ein "a".Das
{...}[3]
ist, die Ergebnisse zu gruppieren,find
die auch die Indizes enthalten, bei denen es übereinstimmt, und dann das dritte Element zurückzugeben, das das übereinstimmende Zeichen ist (dasa
).quelle
print(({type{}:find".(.)"})[3])
31 BytesHaskell, 10 Bytes
Als Funktion (oder vielmehr als Aussage, da keine Eingabe erforderlich ist)
macht den Trick. Probieren Sie es auf Ideone. Ein vollständiges Programm ist nicht möglich, da dieses ein enthalten müsste
main
.quelle
A
. Ihre Funktionen geben es einfach zurück und das verknüpfte Programm zeigt an, überputChar
welche Verwendung es verwendet wirdu
.print
und / oderdisplay
.A
dass gedruckt / angezeigt und nicht zurückgeschickt werden soll.Brachylog , 4 Bytes
Probieren Sie es online!
Erläuterung
quelle
dc,
87 Bytes-1B danke an Dennis
Drücke 88, drücke 23, subtrahiere und lasse 65. Drucke den oberen Teil des Stapels (65) als ASCII-Zeichenkette, ohne nachfolgende Newline.
Bearbeiten:
Dies sind einige der anderen Möglichkeiten, die ich mir ausgedacht habe. Es wurde im Grunde genommen ein Spiel, bei dem "die Zahlen 65 und 97 nur mit
[238B-F]
und ohne Zusatz erzeugt werden". Ironischerweise finde ich die längsten am interessantesten.quelle