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
también es lo suficientemente bueno?A
por razones obvias.U
para cadenas de escape Unicode (\u0041
esA
),X
para cadenas de escape hexadecimales (\x41
),+
para ordinales Unicode (U+0041
),&
para entidades HTML,#
porque en realidad no sé,65
es el ordinal decimal deA
,41
es el ordinal hexadecimal deA
,97
es el ordinal decimal dea
, y0
por algunas de las razones anteriores.Respuestas:
Pluso, 1 byte
Página de Pluso Esolangs .
Pluso contiene un solo acumulador, que comienza con el valor 1. Utiliza dos comandos, p que incrementa el acumulador (mod 27), y o que imprime el valor actual como un carácter ASCII en mayúscula, AZ o espacio (donde 1-26 representa AZ respectivamente, y 0 representa el espacio).
Como el acumulador comienza en 1, el comando o sin previo p es la salida A .
fuente
Python 2, 14 bytes
La expresión
3<3
da el booleanoFalse
, y los backticks dan su representación de cadena'False'
. De aquí, queda por extraer la cartaa
. Python tiene un índice 0, por lo quea
está en el índice1
, que es un carácter prohibido. Se puede expresar como3-2
, pero hay una forma más corta. Python permite la indexación desde atrás, con índice-1
para la última entrada,-2
para la anterior, y así sucesivamente. Queremos índice-4
, pero4
también es un número prohibido. Pero podemos expresarlo~3
usando el complemento de bits~
, que da-n-1
por hecho~n
.fuente
[2]
lugar de[~3]
?[1]
.1
y4
'prohibido' números ??Pyth, 2 bytes
Pruébelo en el compilador Pyth .
Cómo funciona
fuente
PHP,
96 bytesPara 9 bytes: inspirado en la respuesta de @Ton Hospel . Además, tiene el beneficio adicional de parecerse a un Kaomoji. :-)
La versión mejorada de 6 bytes:
en donde ¾ tiene el código hexadecimal de 0xBE (es importante guardar el archivo en codificación Latin-1 , no UTF-8!).
fuente
f^E^b
.^_^
A
. Se imprime=A
.=
carácter.05AB1E,
32 bytesExplicación
Pruébalo en línea
Guardado 1 byte gracias a Adnan
fuente
Th
por dos bytes :)brainfuck, 16 bytes
Esto se basa en el algoritmo brainfuck de Esolang para 159 .
Pruébalo en línea!
fuente
+
. (la forma más corta de imprimir A sería>+[+[<]>>+<+]>.
), pero gracias a la lista de constantes en Esolang, no es demasiado difícil.JavaScript (ES6),
171614 bytes¡Ahorré dos bytes gracias a Neil!
Devuelve el segundo carácter de
NaN
, que esa
.Esto es lo más corto que se me ocurrió
A
,4342 bytes:¿Quién dice que ser ofuscador no ayuda con el golf de código? ¡Yo no!
Explicaciones
El primero, en profundidad.
-_
es NaN, porque_
no está definido. Para obtener esto como una cadena, uno necesitaría uno de los siguientes:El último es demasiado largo, y los primeros usos
+
. Entonces usamos el segundo. Ahora, ela
está en el índice1
. Esto no es bueno, porque1
está prohibido. Sin embargo, al ser una cadena de plantilla, podemos poner un espacio allí para que quede en el índice2
, dejándonos así` ${-_}`
.El segundo, en profundidad.
Este fue un doozy.
Este es el noveno carácter de la cadena de plantilla interna, que
-~8
es igual a 9. En este caso, esta cadena de plantilla es solo para la stringificación. Esta es la ecuación interna que se está stringificando, entre${...}
:Vamos a ampliar esto un poco:
Esto obtiene la propiedad de una matriz vacía. Esta propiedad es, por supuesto, una cadena de plantilla, pero tiene algo de texto alrededor. Es más o menos equivalente a:
`constr${
${!""}
[2]}ctor`El interior es a su vez equivalente a:
!_
estrue
(porque_
esundefined
y!undefined === true
) y stringified es"true"
. Obtenemos el segundo carácter de la mismau
; tenemos que hacerlo de esta manera para evitar poner explícitamenteu
nuestro código.Entonces, este bit interno es equivalente a:
Entonces estamos obteniendo el constructor de la matriz, la
Array
función. No pude dejar esto explícitamente porque contiene lo prohibidoA
. Ahora, stringificar laArray
función rinde"function Array() { [native code] }"
.Regresar al código original:
Esto es equivalente a, como hemos visto:
Equivalente a:
Finalmente equivalente a:
fuente
a
es un personaje prohibido y está dentrotoUpperCase
.Hexagonía , 4 bytes.
Ayyy lmao? Bastante golfista para un idioma ajeno al golf jaja. Código:
Pruébalo en línea!
Una forma más legible:
Esto coloca el valor ASCII de la letra
B
, que es 66, en el borde de la memoria actual. Lo resta por uno usando(
y lo imprime con;
. Después de eso, el programa se termina usando@
.Imagen de ruta obligatoria:
fuente
Jalea , 3 bytes
Pruébalo en línea!
Cómo funciona
Jalea, 4 bytes
Pruébalo en línea!
Cómo funciona
fuente
En realidad , 2 bytes
Pruébalo en línea!
Explicación:
fuente
CJam, 3 bytes
Pruébalo en línea!
Cómo funciona
fuente
Chicle , 1 byte
o
Todos parecían olvidar que existía ...
fuente
Perl,
98 bytesxor todavía está permitido, pero
say
no lo está. Entonces, para 9 bytes:Sin embargo, el uso de salida a STDERR da 8 bytes:
Reemplazar
\x9e
y\xf5
por sus versiones literales. O genere el archivo ejecutable usando:fuente
say
(contiene a) para imprimir siempre y cuando la construcción del argumento no use los caracteres prohibidos?print "No using the letter with code point 65";
.> <> , 6 bytes
esto crea una cadena de caracteres, rebota y lo vuelve a crear a la inversa, voltea los 2 elementos principales de la pila y resta: '|' (124) menos ';' (59) es 'A' (65)
Pruébalo en línea
fuente
'$-o;|
que es casi lo mismo pero sin rebotar. (|;o-$'
también funciona.)Ruby,
1512 bytesfuente
$><<
ap
, hacep to_s[-3]
p
recurreinspect
a sus argumentos, por lo que se citará la salida, lo que lo descalificaría.Java, 55 bytes
Como el código tiene que imprimirlo, se requiere uno de los dos escritores integrados.
System.out
es, bueno, fuera, porque contieneu
.System.err
funciona, sin embargo.El siguiente obstáculo es el manejo de Java de
char
yint
. Dado que no está permitido emitirchar
porque contienea
y porque'c' - 2
se promociona aint
, se requiere otro mecanismo.System.err
es unPrintWriter
, que tiene unwrite(char)
método pero nowrite(int)
. Poner'c' - 2
allí lo obliga a nochar
tener un yeso.Finalmente, cada vez que ejecuté el programa, el búfer
System.err
no se vació como se suponía, y el programa no imprimió nada. Así que tuve que enjuagarlo manualmente. Sin embargo,System.err.flush()
no está permitido, así que lo llamé, loprintln()
que implícitamente vacía la corriente subyacente.fuente
MATL, 5 bytes
Pruébalo en línea
Explicación
Mi respuesta original fue el enfoque recta hacia adelante usando el literal predefinido
lY2
que produce'A'...'Z'
y luego seleccionando el primer elemento,'A'
.fuente
Javascript,
18 bytes16 bytes12 bytes11 bytesBasado en modificados jsfuck básico (tenía que encontrar la manera de reemplazar
+
con-
).¿Ungolfed?
Bueno, al menos una versión con comentarios (tenga en cuenta que esta versión probablemente no se ejecutará):
Vieja solución:
fuente
3
se le permite por lo reemplazó todo el asunto con vieja y aburrida3-2
para obtener1
Vim,
16 13 1110 pulsaciones de teclasGracias a H Walters por guardar dos llaves
¡Gracias a DJMcMayhem por salvar a otro!
fuente
:h<cr>
intentarlo:h%<cr>
. Ese es un personaje adicional, pero terminas en la ayuda%
, con el cursor sobre una a. Entonces, desde aquí, puede reemplazar33ll
conj
.ZZ
lugar de:q<cr>
guardar otro.R,
2712 bytesEDITAR: Nueva versión, de una excelente idea de @Jarko Dubbeldam
¡Un desafío bastante divertido!
Básicamente, esto toma el
26th
elemento del vector invertido que contiene las letras mayúsculas (LETTERS
que es un vector incorporado de R )Versión anterior s (mismo número de bytes) :
fuente
LETTERS[T*T]
.T
evalúa1
cuando se realizan operaciones numéricas.> <> ,
74 bytesGuardado 3 bytes gracias a Teal pelican
Pruébalo en línea!
Explicación
fuente
"B"1-o;
Vim, 2 pulsaciones de teclas
vim -u NONE
luego ejecute lo siguiente (-u NONE
desactiva la personalización)Cuando vim se ejecuta en modo compatible, las teclas de flecha no se interpretan correctamente.
<up>
se interpreta<esc>OA
que deja lo siguiente en modo de inserción. Lo cual se iría (con un par de nuevas líneas finales)i
comienza el modo de inserción.<up>
sale del modo de inserción, abre una línea arriba e ingresa A en el búferEjemplo de personas que se encuentran con esto en la naturaleza. https://stackoverflow.com/questions/6987317/while-moving-the-cursor-across-a-vim-process-open-in-a-tmux-session-every-now-a/6988748#6988748
fuente
Brainfuck,
19219 bytesGracias a @NinjaBearMonkey por ayudarme a guardar bytes hella
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------.No soy bueno en Brainfuck, así que estoy seguro de que hay una solución más corta, pero funciona disminuyendo por debajo de 0, girando el byte y continúa hasta que llegue a 'A', luego se imprime.fuente
JavaScript (ES6), 21 bytes
Originalmente intenté convertir
false
a cadena para hacer esto, pero me tomó 23 bytes en ese momento. Desde entonces se me ocurrió una forma más corta, que es esto para 14 bytes:No creo que pueda obtener una mayúscula
A
bajo las reglas, ya que necesita unaString.fromCharCode
o.toUpperCase()
ambas, que contienena
.fuente
C, (19?) 24 bytes
Gracias a Dennis:
mismo largo:
que también permite minúsculas:
Hay una solución de 19 bytes como una función que modifica su parámetro, que tiene una falla:
Si
c
se declaróchar
,g
modifica el conjuntoint
para que rompa la pila, lo que hace que se modifiquen otros valores o que el programa se cancele con un mensaje de error. La única manera de evitar es declararint c;
enmain
e imprimir con"%c"
, pero que se siente como un vacío.soluciones antiguas
Solo una función, ya que
main
está prohibido.fuente
88-23
debería guardar algunos bytes.printf("%c",~'ɦ');
aunque la "A" tendrá una marca de acento agregada jeɦ
es un personaje de 2 bytesdc, 4 bytes
El desbordamiento UCHAR_MAX atraviesa la mesa
seistres veces antes de aterrizar a los 65.fuente
Lua, 36 bytes
Éste me llevó un tiempo ya que muchas de las funciones estándar de Lua son separados de las reglas (todos
math
,string.char
,string.match
,pairs
, inclusonext
)Esto aprovecha el hecho de que Lua tiene un global
_VERSION
que generalmente comienza con "Lua" (p. Ej.Lua 5.1
, O similar para otras versiones), por lo que a menos que se ejecute en un intérprete no convencional, el tercer carácter será una 'a'El
{...}[3]
es agrupar los resultados de losfind
cuales también incluye los índices donde coincidió, y luego devolver el tercer elemento que es el carácter coincidente (ela
)fuente
print(({type{}:find".(.)"})[3])
31 bytesHaskell, 10 bytes
Como una función (o más bien una declaración ya que no se requiere entrada)
Hace el truco. Pruébalo en Ideone. Un programa completo es imposible ya que esto debería contener a
main
.fuente
A
. Sus funciones simplemente lo devuelven y el programa vinculado lo muestra a través deputChar
qué usosu
.print
y / odisplay
.A
debe imprimirse / mostrarse y no devolverse.Brachylog , 4 bytes
Pruébalo en línea!
Explicación
fuente
corriente continua,
87 bytes-1B gracias a Dennis
Empuja 88, empuja 23, resta, dejando 65. Imprima la parte superior de la pila (65) como una cadena ASCII, sin línea nueva.
Editar:
Estas son algunas de las otras formas que se me ocurrieron. Básicamente se convirtió en un juego de "generar los números 65 y 97 usando solo
[238B-F]
y sin adición". Irónicamente, encuentro los más largos más interesantes.fuente