var QUESTION_ID=141725,OVERRIDE_USER=61563;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>
Respuestas:
05AB1E , 7 bytes
Código:
Utiliza la codificación 05AB1E . Pruébalo en línea!
Explicación
fuente
žp
existe cuandoAu
es dorado? BADUM tissssR ,
6755 bytesPruébalo en línea!
fuente
sep
as
. Las funciones autocompletarán argumentos con nombre si no hay colisiones...
argumento; Los argumentos que vienen antes...
(típicamente) se hacen coincidir parcialmente, y los que siguen no. Creo que hay algunas excepciones, perocat
no es una de ellas...
Python 2 , 57 bytes
Pruébalo en línea!
fuente
V ,
13, 11 bytesPruébalo en línea!
Hexdump:
Escrito desde mi teléfono: P.
fuente
PowerShell , 42 bytes
Pruébalo en línea!
Explicación:
fuente
Bash + GNU sed, 60
Pruébalo en línea .
fuente
:x
a:
ytx
parat
./// ,
10597 bytesPruébalo en línea!
Explicación
/// solo conoce un comando,
/<pattern>/<substitution>/<text>
reemplaza todas las apariciones de<pattern>
in<text>
con<substitution>
. Además\
se puede usar para escapar de los personajes.Código acortado por simplicidad:
El primer comando
/:/\\\\*/
reemplaza:
con\\*
en el código posterior. Esto da:Luego
/#/\\*E\\*D\\*C\\*B\\*A/
reemplaza#
con\*E\*D\*C\*B\*A
:Luego
/\\*/\/\/__\*E\*D\*C\*B\*A<newline>\/ /
reemplaza\*
con//__*E*D*C*B*A<newline>/
:Aviso: tuve que usar
\*
para el reemplazo. Como*
también es parte de la sustitución, generaría un bucle infinito si solo reemplazara*
.Luego, el comando
/_/ /
reemplaza_
con espacios y/*//
elimina todo*
:El siguiente comando
/#//
reemplaza#
por nada. Como no hay#
un código, no hace nada. Esto es solo para eliminar los dos encabezados//
desde el comienzo del código. Esto dejaLuego, el comando se
/ E//
elimina<space>E
, por lo que esto dejará el código/ D//
Elimina similares<space>D
:/ C//
:/ B//
:Y el último comando está incompleto, por lo que no hace nada:
fuente
Haskell,
5352 bytesPruébalo en línea!
Cómo funciona
fuente
f['Z'..'A']
funciona?[a..b]
comienza cona
y recopila todos los sucesores (+1
para enteros, el siguiente ascii-char para personajes, etc.) hastab
. Sia > b
esta es una lista vacía. Sin embargo, también puede especificar el segundo valor (que puede ser más pequeño) a partir del cual se calcula un incremento / decremento.[1,3..8]
->[1,3,5,7]
,[15,10..0]
->[15,10,5,0]
, o['Z','Y'..'A']
que es el alfabeto en mayúsculas hacia atrás.Pitón 2 ,
6664Pruébalo en línea!
fuente
print
y'
para 65 bytes.JavaScript (ES6),
837776 bytesfuente
Jalea , 12 bytes
Pruébalo en línea!
-3 bytes gracias a millas
fuente
brainfuck , 105 bytes
Pruébalo en línea!
Minificado y formateado:
Versión legible:
fuente
Octava ,
53494645 bytes1 byte eliminado gracias a @Sanchises
Pruébalo en línea!
fuente
Poético , 601 bytes
Poetic es un esolang que creé en 2018 para un proyecto de clase, y es un derivado de brainfuck en el que las longitudes de las palabras corresponden a comandos de brainfuck (y los comandos +, -,> y <tienen argumentos de 1 dígito).
El hecho de que solo la longitud de la palabra dicta los comandos significa que técnicamente podría haber creado un programa completamente compuesto de no palabras (es decir, la letra X tantas veces como sea necesario, con espacios entre las palabras), pero quería hacer un interesante poema de verso libre sin agregar bytes innecesarios.
Si quieres probarlo en línea (que es la mitad del proyecto de clase en primer lugar), ¡mira mi intérprete en línea !
fuente
05AB1E , 10 bytes
Pruébalo en línea!
Explicaciones:
fuente
Perl 6 , 37 bytes
Guardado 9 bytes gracias a @Massa.
Pruébalo en línea!
Explicación:
25...0
es un rango de 25 a 0 (como se esperaba). Repetimos en ese rango, diciendo (= imprimiendo con nueva línea) que muchos espacios y la cadena de caracteres que tienen códigos ASCII (chrs
) de 65 + ese número ($_+65...65
).fuente
25...0
es el camino más corto :-)say " "x$_,chrs $_+65...65 for 25...0
:-)Carbón ,
1911 bytes-8 bytes gracias a ASCII-only.
Pruébalo en línea! El enlace es a la versión detallada.
fuente
CycleChop
... pero olvidasteIncrement
(o como se llame)Perl 5 , 36 bytes
Código de 35 bytes + 1 para
-p
.Nota : TIO no admite entradas vacías , por lo que se proporciona una nueva línea, esto da como resultado una nueva línea extraña, pero cuando se ejecuta en la línea de comandos con una entrada vacía, no se muestra.
Pruébalo en línea!
fuente
Ruby ,
5452 bytesPruébalo en línea!
fuente
Cubix , 43
46bytesPruébalo en línea!
Cubified
Míralo correr
Me las arreglé para afeitarme un poco más de esto, pero fue un poco más difícil de lo que pensaba. Hay un personaje sustituto después de la primera cita que me da 26.
'<sub>
empuje 26 en la pila como el número base:(!
base duplicada como contador, decremento, prueba de verdadu
en verdadero omita el$
comando y gire hacia la derechaSo;u
empuje 32, salida como carácter, pop 32 y gire a la derecha en la disminución$
en falso salto el siguienteu
comando;:'@^
pop, duplicar el número base, empujar 64 en la pila y redirigir a una ruta tortuosa$\s/:\/u;$
Este es el orden de los pasos en la cara superior. Se reduce para intercambiar el contador con el 64. Termina con un salto sobre la redirección que lo puso aquí.<+o;U
redirigir para agregar, salida de caracteres, pop, giro en U a la izquierda(!
decremento, prueba de verdad. Si verdadero comienza en un camino que golpea el giro en U y vuelve a la redirección.|(;No
en falso, reflejo, prueba redundante, decremento redundante, pop, push 10 y carácter de salida;;(u!@W
desplácese hacia abajo hasta el número base, disminuya, gire en U hacia la derecha en la prueba de verdad, pare si es falso, de lo contrario cambie de carril al duplicado al principio. Enjuague y repita.fuente
Python, 83 bytes
Mi primera respuesta en codegolf :)
fuente
sed 4.2.2 + Bash , 50 bytes
Pruébalo en línea!
Bash + sed 4.2.2 , 51 bytes
Basándose en la respuesta de @ DigitalTrauma .
Pruébalo en línea!
fuente
Vim, 43 pulsaciones de teclas
Puedes verlo en acción en este GIF creado con el script de Python de Lynn
fuente
JavaScript,
7574 bytes1 byte guardado gracias a Rick Hitchcock
Pruébalo en línea!
fuente
b
(b=''
), luego quitandob
los corchetes.Perl 5 , 49 bytes
Pruébalo en línea!
fuente
A
, ¡pero parece que eso se puede solucionar cambiando$"x25
a$"x26
!Z
, olvidé dar cuenta de eso.Pyke , 8 bytes
Pruébalo aquí!
Puedo ver el idioma correcto haciendo esto en 6 bytes si tuvieran un incorporado
prepend n spaces to string
así como lo que hace Pykefuente
PHP (
635855 bytes)Este es posiblemente mi extraño rincón favorito de PHP, un rincón que hereda de Perl:
Esto genera la nueva línea final, como se permite explícitamente. Esto se puede ejecutar
php -r
para guardar la apertura<?php
necesaria para poner esto en un archivo.Explicación: cuando una variable que contiene la cadena
'A'
se incrementa en PHP, se convierte en'B'
y luego'C'
y así sucesivamente hasta que se'Z'
convierte'AA'
. No hay ningún dígito antes'A'
para comenzar en este álgebra descabellada, y el operador de decremento no lo deshace, por lo que guardamos el alfabeto incrementalmente invertido en$z
(que por defectoNULL
cuando se concatena con una cadena se comporta como la cadena vacía - el Lo mismo sucede con$s
y$q
). El espacio en blanco se acumula$s
y toda la cadena se acumula hacia atrás en variable, lo$q
que significa que tenemos que repetirlo al final.Gracias a Titus por jugar golf con mis llaves y decirme que no necesito penalizarme por las banderas de evaluación en línea como
-r
.fuente
-r
es gratis. Dos bytes más cortos:for($c=A;$c!=AA;$q="$s$z\n$q",$s.=" ")$z=$c++.$z;echo$q;
-R
y no-F
son gratis. Ver codegolf.meta.stackexchange.com/questions/2424/…$c<AA
.SOGL V0.12 ,
108 bytesPruébalo aquí!
fuente
701 choose x
intentos para cualquier número entero x) pero un intento aproximado fue de 450 bytes: PLisp común,
8482 bytesPruébalo en línea!
¡Dos bytes menos gracias a @ Ascii-only!
fuente
Python 2 ,
7267 bytesPruébalo en línea!
fuente