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
aussi bien?A
pour des raisons évidentes.U
pour les chaînes d'échappement Unicode (\u0041
isA
),X
pour les chaînes d'échappement hexadécimales (\x41
),+
pour les ordinaux Unicode (U+0041
),&
pour les entités HTML,#
car je ne sais pas en fait,65
est l'ordinal décimal deA
,41
est l'ordinal hexadécimal deA
,97
est l'ordinal décimal dea
et0
pour quelques-unes des raisons précédentes.Réponses:
Pluso, 1 octet
Pluso Esolangs Page .
Pluso contient un seul accumulateur, qui commence par la valeur 1. Il utilise deux commandes, p qui incrémente l’accumulateur (mod 27) et o qui affiche la valeur actuelle sous forme de caractère majuscule ASCII, AZ ou espace (où 1-26 représente Respectivement AZ et 0 représente l’espace).
Comme l'accumulateur commence à 1, la commande o sans précédent p volonté sortie A .
la source
Python 2, 14 octets
L'expression
3<3
donne le booléenFalse
et les backticks donnent sa représentation sous forme de chaîne'False'
. De là, il reste à extraire la lettrea
. Python est indexé sur 0, donc thea
est at index1
, qui est un caractère interdit. Cela peut être exprimé ainsi3-2
, mais il existe un moyen plus court. Python permet l'indexation à partir de l'arrière, avec l'index-1
pour la dernière entrée,-2
pour celle qui la précède, etc. Nous voulons un index-4
, mais4
c'est aussi un nombre interdit. Mais, nous pouvons l'exprimer en~3
utilisant le complément de bits~
, ce qui donne-n-1
pour~n
.la source
[2]
au lieu de[~3]
?[1]
.1
et4
les numéros "interdits" ??Pyth, 2 octets
Testez-le dans le compilateur Pyth .
Comment ça fonctionne
la source
PHP,
9 à6 octetsPour 9 octets: Inspiré par la réponse de @Ton Hospel . De plus, il présente l'avantage supplémentaire de ressembler un peu à un Kaomoji. :-)
La version améliorée de 6 octets:
où ¾ a le code hexadécimal de 0xBE (il est important de sauvegarder le fichier en codage Latin-1 , pas en UTF-8!).
la source
f^E^b
.^_^
A
. Cela imprime=A
.=
caractère.05AB1E,
32 octetsExplication
Essayez-le en ligne
Sauvé 1 octet grâce à Adnan
la source
Th
pour deux octets :)brainfuck, 16 octets
Ceci est basé sur l'algorithme brainfuck d'Esolang pour 159 .
Essayez-le en ligne!
la source
+
. (Le plus court chemin pour imprimer A serait>+[+[<]>>+<+]>.
), mais grâce à la liste des constantes sur Esolang, pas trop difficile.JavaScript (ES6),
171614 octetsSauvé deux octets grâce à Neil!
Retourne le second caractère de
NaN
, qui esta
.C'est le plus court que j'ai pu trouver pour
A
,4342 octets:Qui a dit qu'être un obfuscateur n'aidait pas le code golf? Pas moi!
Des explications
Le premier, en profondeur.
-_
est NaN, car_
est indéfini. Pour obtenir cela sous forme de chaîne, il faudrait l'une des opérations suivantes:Le dernier est trop long, et le premier utilise
+
. Nous utilisons donc le second. Maintenant, lea
est à l'index1
. Ce n'est pas bon, parce que1
c'est interdit. Cependant, étant une chaîne de gabarit, nous pouvons y insérer un espace pour le rendre à l'index2
, nous laissant ainsi avec` ${-_}`
.Le second, en profondeur.
Celui-ci était un doozy.
Il s'agit du neuvième caractère de la chaîne de modèle interne,
-~8
égal à 9. Dans ce cas, cette chaîne de modèle est uniquement destinée à la personnification. C'est l'équation interne qui est en train d'être stratifié, entre${...}
:Développons ceci un peu:
Cela obtient la propriété d'un tableau vide. Cette propriété est, bien sûr, une chaîne de modèle, mais elle est entourée de texte. C'est à peu près équivalent à:
`constr${
${!""}
[2]}ctor`L'intérieur est à son tour équivalent à:
!_
esttrue
(parce que_
estundefined
, et!undefined === true
), et stringified est"true"
. Nous obtenons le second caractère de celui - ci,u
; nous devons l'obtenir de cette façon pour éviter de mettre explicitementu
dans notre code.Donc, ce bit intérieur équivaut à:
Nous obtenons donc le constructeur du tableau, la
Array
fonction. Je ne pouvais pas y mettre explicitement parce qu'il contient l'interditA
. Maintenant, la stringification de laArray
fonction rend"function Array() { [native code] }"
.Retour au code original:
Ceci est équivalent à, comme nous l'avons vu:
Équivalent à:
Enfin équivalent à:
la source
a
est un personnage interdit, et est entoUpperCase
.Hexagonie , 4 octets
Ayyy lmao? Tout à fait golfy pour une langue non golfique haha. Code:
Essayez-le en ligne!
Une forme plus lisible:
Cela met la valeur ASCII de la lettre
B
, qui est 66, sur le bord de la mémoire en cours. Il le soustrait par un utilisateur(
et l’imprime avec;
. Après cela, le programme est arrêté avec@
.Image de chemin obligatoire:
la source
Gelée , 3 octets
Essayez-le en ligne!
Comment ça fonctionne
Gelée, 4 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
En fait , 2 octets
Essayez-le en ligne!
Explication:
la source
CJam, 3 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
Bubblegum , 1 octet
ou
Tout le monde semblait oublier que ça existait ...
la source
Perl,
9 à8 octetsxor est toujours autorisé, mais
say
ne l'est pas. Donc pour 9 octets:Cependant, l’utilisation de la sortie vers STDERR donne 8 octets:
Remplacer
\x9e
et\xf5
par leurs versions littérales. Ou générez le fichier exécutable en utilisant:la source
say
(contient a) pour l'impression tant que la construction de l'argument n'utilise pas les caractères interdits?print "No using the letter with code point 65";
.> <> , 6 octets
cela crée une chaîne de caractères, rebondit et la crée à nouveau en sens inverse, retourne les 2 premiers éléments de la pile et soustrait: '|' (124) moins ';' (59) est 'A' (65)
Essayez-le en ligne
la source
'$-o;|
ce qui est presque le même mais sans rebondir. (|;o-$'
fonctionne également.)Ruby,
1512 octetsla source
$><<
àp
, faitp to_s[-3]
p
appelleinspect
ses arguments, ainsi le résultat sera cité, ce qui le disqualifiera.Java, 55 octets
Étant donné que le code doit l’imprimer, l’un des deux rédacteurs intégrés est requis.
System.out
est, eh bien, dehors, car il contientu
.System.err
fonctionne, cependant.Le prochain obstacle est le traitement de Java par
char
etint
. Dans la mesure où il n’est pas autorisé de transtyper verschar
car il contienta
, et parce qu’il'c' - 2
est promuint
, un autre mécanisme est requis.System.err
est unPrintWriter
, qui a unewrite(char)
méthode mais paswrite(int)
. Mettre'c' - 2
dedans force à le fairechar
sans casting.Enfin, chaque fois que j’exécutais le programme, le tampon
System.err
ne vidait pas comme il était supposé, et le programme n’imprimait rien. Je devais donc le rincer manuellement. Cependant,System.err.flush()
n'est pas autorisé, j'ai donc appelé pourprintln()
vider implicitement le flux sous-jacent.la source
MATL, 5 octets
Essayez-le en ligne
Explication
Ma réponse originale était l'approche avant droite en utilisant le littéral prédéfini
lY2
qui donne'A'...'Z'
, puis en sélectionnant le premier élément,'A'
.la source
Javascript,
18 octets16 octets12 octets11 octetsBasé sur les bases de jsfuck modifiées (devait comprendre comment remplacer
+
par-
).Ungolfed?
Eh bien, au moins une version avec des commentaires (notez que cette version ne fonctionnera probablement pas):
Ancienne solution:
la source
3
est permis alors remplacé le tout avec ennuyeux3-2
pour obtenir1
Vim,
16 13 1110 frappesMerci à H Walters pour avoir économisé deux clés
Merci à DJMcMayhem pour en avoir sauvé un autre!
la source
:h<cr>
essayer:h%<cr>
. C'est un caractère supplémentaire, mais vous vous retrouvez sur l'aide pour%
, avec votre curseur juste sur un a. Donc, à partir de là, vous pouvez remplacer33ll
parj
.ZZ
au lieu de:q<cr>
sauvegarder un autre.R,
2712 octetsEDIT: Nouvelle version, d'une excellente idée de @Jarko Dubbeldam
Tout un défi amusant!
Fondamentalement, cela prend l’
26th
élément du vecteur inversé contenant les lettres majuscules (LETTERS
qui est un vecteur intégré de R )Version précédente s (même nombre d’octets) :
la source
LETTERS[T*T]
.T
évalue1
lors de l'exécution d'opérations numériques.> <> ,
74 octets3 octets sauvés grâce au pélican de sarcelle
Essayez-le en ligne!
Explication
la source
"B"1-o;
Vim, 2 frappes
vim -u NONE
puis exécutez ce qui suit (-u NONE
désactive la personnalisation)Lorsque vim est exécuté en mode compatible, les touches fléchées ne sont pas interprétées correctement.
<up>
est interprété,<esc>OA
ce qui laisse les éléments suivants en mode insertion. Ce qui laisserait (avec un couple de nouvelles lignes de fuite)i
démarre le mode insertion.<up>
quitte le mode insertion, ouvre une ligne au dessus et entre A dans la mémoire tamponExemple de personnes rencontrant cela dans la nature. https://stackoverflow.com/questions/6987317/while-moving-the-cursor-across-a-vim-process-open-in-a-tmux-session-every-now-a/6988748#6988748
la source
Brainfuck,
19219 octetsMerci à @NinjaBearMonkey de m'avoir aidé à économiser hella octets
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------.Je ne suis pas bon chez Brainfuck, alors je suis sûr qu'il existe une solution plus courte, mais elle fonctionne en décrémentant jusqu'à 0, en renversant l'octet et en continuant jusqu'à ce que la valeur revienne à 'A', puis elle s'imprime.la source
JavaScript (ES6), 21 octets
À l’origine, j’ai essayé de convertir
false
en chaîne pour le faire, mais cela me prenait 23 octets à la fois. J'ai depuis mis au point un moyen plus court, à savoir 14 octets:Je ne pense pas que vous puissiez obtenir une majuscule en
A
vertu des règles, car vous en avez besoin d’uneString.fromCharCode
ou des.toUpperCase()
deux qui contiennenta
.la source
C, (19?) 24 octets
Merci à Dennis:
même longueur:
ce qui permet aussi les minuscules:
Il existe une solution de 19 octets en tant que fonction modifiant son paramètre, ce qui présente un défaut:
Si a
c
été déclaréchar
,g
modifie le tout deint
manière à écraser la pile, ce qui entraîne la modification d'autres valeurs ou l'abandon du programme avec un message d'erreur. La seule façon de contourner est de déclarerint c;
dansmain
et imprimer avec"%c"
, mais qui se sent comme une échappatoire.solutions plus anciennes
Juste une fonction, car
main
est interdite.la source
88-23
devrait sauver quelques octets.printf("%c",~'ɦ');
:, bien que le "A" ait un accent ajouté hehɦ
est un personnage de 2 octetsdc, 4 octets
Le débordement UCHAR_MAX parcourt la table
sixfois à trois reprises avant d'atterrir à 65 ans.la source
Lua, 36 octets
Celui - ci m'a pris un certain temps puisque plusieurs des fonctions standard de Lua sont prises loin des règles (tous
math
,string.char
,string.match
,pairs
, mêmenext
)Cela profite du fait que Lua a un global
_VERSION
qui commence habituellement par "Lua" (par exemple,Lua 5.1
ou similaire pour les autres versions). Ainsi, à moins que cela ne soit exécuté sur un interprète non traditionnel, le troisième caractère sera un "a"Le
{...}[3]
est de grouper les résultats,find
ce qui inclut également les index où il correspond, puis renvoie le troisième élément qui est le caractère correspondant (lea
)la source
print(({type{}:find".(.)"})[3])
31 octetsHaskell, 10 octets
En tant que fonction (ou plutôt une déclaration car aucune entrée n'est requise)
fait le tour. Essayez-le sur Ideone. Un programme complet est impossible car il faudrait contenir un
main
.la source
A
. Vos fonctions le renvoient et le programme lié l’affiche par l’intermédiaire deputChar
quelles utilisationsu
.print
et / oudisplay
.A
devrait être imprimé / affiché et non retourné.Brachylog , 4 octets
Essayez-le en ligne!
Explication
la source
dc,
87 octets-1B grâce à Dennis
Pousse 88, pousse 23, soustrait, laissant 65. Imprime le haut de la pile (65) en tant que chaîne ASCII, sans fin de nouvelle ligne.
Modifier:
Ce sont quelques-unes des autres façons que j'ai proposées. Il est devenu fondamentalement un jeu de "générer les nombres 65 et 97 en utilisant seulement
[238B-F]
et sans addition". Ironiquement, je trouve les plus longs les plus intéressants.la source