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>
atambién es lo suficientemente bueno?Apor razones obvias.Upara cadenas de escape Unicode (\u0041esA),Xpara cadenas de escape hexadecimales (\x41),+para ordinales Unicode (U+0041),¶ entidades HTML,#porque en realidad no sé,65es el ordinal decimal deA,41es el ordinal hexadecimal deA,97es el ordinal decimal dea, y0por 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<3da 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 queaestá 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-1para la última entrada,-2para la anterior, y así sucesivamente. Queremos índice-4, pero4también es un número prohibido. Pero podemos expresarlo~3usando el complemento de bits~, que da-n-1por hecho~n.fuente
[2]lugar de[~3]?[1].1y4'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
Thpor 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, elaestá en el índice1. Esto no es bueno, porque1está 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
-~8es 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_esundefinedy!undefined === true) y stringified es"true". Obtenemos el segundo carácter de la mismau; tenemos que hacerlo de esta manera para evitar poner explícitamenteunuestro código.Entonces, este bit interno es equivalente a:
Entonces estamos obteniendo el constructor de la matriz, la
Arrayfunción. No pude dejar esto explícitamente porque contiene lo prohibidoA. Ahora, stringificar laArrayfunción rinde"function Array() { [native code] }".Regresar al código original:
Esto es equivalente a, como hemos visto:
Equivalente a:
Finalmente equivalente a:
fuente
aes 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
sayno lo está. Entonces, para 9 bytes:Sin embargo, el uso de salida a STDERR da 8 bytes:
Reemplazar
\x9ey\xf5por 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]precurreinspecta 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.outes, bueno, fuera, porque contieneu.System.errfunciona, sin embargo.El siguiente obstáculo es el manejo de Java de
charyint. Dado que no está permitido emitircharporque contieneay porque'c' - 2se promociona aint, se requiere otro mecanismo.System.erres unPrintWriter, que tiene unwrite(char)método pero nowrite(int). Poner'c' - 2allí lo obliga a nochartener un yeso.Finalmente, cada vez que ejecuté el programa, el búfer
System.errno 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
lY2que 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
3se le permite por lo reemplazó todo el asunto con vieja y aburrida3-2para obtener1Vim,
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 reemplazar33llconj.ZZlugar 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
26thelemento del vector invertido que contiene las letras mayúsculas (LETTERSque es un vector incorporado de R )Versión anterior s (mismo número de bytes) :
fuente
LETTERS[T*T].Tevalúa1cuando 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 NONEluego ejecute lo siguiente (-u NONEdesactiva la personalización)Cuando vim se ejecuta en modo compatible, las teclas de flecha no se interpretan correctamente.
<up>se interpreta<esc>OAque deja lo siguiente en modo de inserción. Lo cual se iría (con un par de nuevas líneas finales)icomienza 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
falsea 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
Abajo las reglas, ya que necesita unaString.fromCharCodeo.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
cse declaróchar,gmodifica el conjuntointpara 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;enmaine imprimir con"%c", pero que se siente como un vacío.soluciones antiguas
Solo una función, ya que
mainestá prohibido.fuente
88-23deberí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
_VERSIONque 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 losfindcuales 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 deputCharqué usosu.printy / odisplay.Adebe 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