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>
Respostas:
05AB1E , 7 bytes
Código:
Usa a codificação 05AB1E . Experimente online!
Explicação
fonte
žp
existe quandoAu
é dourado? BADUM tissssR ,
6755 bytesExperimente online!
fonte
sep
paras
. Funções vai autocomplete argumentos nomeados se não há colisões...
argumento; os argumentos que vêm antes...
(normalmente) são correspondidos parcialmente e os que não são depois. Acredito que existem algumas exceções, mascat
não é uma delas....
Python 2 , 57 bytes
Experimente online!
fonte
V ,
13, 11 bytesExperimente online!
Hexdump:
Escrito do meu telefone: P.
fonte
PowerShell , 42 bytes
Experimente online!
Explicação:
fonte
Bash + GNU sed, 60
Experimente online .
fonte
:x
para:
etx
parat
./// ,
10597 bytesExperimente online!
Explicação
/// conhece apenas um comando,
/<pattern>/<substitution>/<text>
substitui todas as ocorrências de<pattern>
in<text>
por<substitution>
. Além disso,\
pode ser usado para escapar de caracteres.Código reduzido para simplificar:
O primeiro comando
/:/\\\\*/
substitui:
por\\*
no código subseqüente. Isto dá:Em seguida,
/#/\\*E\\*D\\*C\\*B\\*A/
substitui#
por\*E\*D\*C\*B\*A
:Em seguida,
/\\*/\/\/__\*E\*D\*C\*B\*A<newline>\/ /
substitui\*
por//__*E*D*C*B*A<newline>/
:Aviso: eu tive que usar
\*
para substituição. Como*
também faz parte da substituição, geraria um loop infinito se eu apenas substituísse*
.Em seguida, o comando
/_/ /
substitui_
por espaços e/*//
exclui tudo*
:O próximo comando
/#//
substitui#
por nada. Como não existe#
no código, ele não faz nada. Aqui está apenas para remover os dois líderes//
do início do código. Isso deixaEm seguida, o comando é
/ E//
removido<space>E
, então isso deixará o código/ D//
Remoções semelhantes<space>D
:/ C//
:/ B//
:E o último comando está incompleto, por isso não faz nada:
fonte
Haskell,
5352 bytesExperimente online!
Como funciona
fonte
f['Z'..'A']
funciona?[a..b]
começa coma
e coleta todos os sucessores (+1
para números inteiros, próximo caractere ascii para caracteres, etc.) atéb
. Sea > b
esta é uma lista vazia. No entanto, você pode especificar também o segundo valor (que pode ser menor) a partir do qual um incremento / decremento é calculado.[1,3..8]
->[1,3,5,7]
,[15,10..0]
->[15,10,5,0]
, ou['Z','Y'..'A']
qual é o alfabeto maiúsculo para trás.Python 2 ,
6664Experimente online!
fonte
print
e'
para 65 bytes.JavaScript (ES6),
837776 bytesfonte
Gelatina , 12 bytes
Experimente online!
-3 bytes graças a milhas
fonte
brainfuck , 105 bytes
Experimente online!
Minificado e formatado:
Versão legível:
fonte
Oitava ,
53494645 bytes1 byte removido graças a @Sanchises
Experimente online!
fonte
Poético , 601 bytes
Poetic é um esolang que eu criei em 2018 para um projeto de classe e é um derivado de foda cerebral em que o comprimento das palavras corresponde aos comandos de foda cerebral (e os comandos +, -,> e <têm argumentos de 1 dígito).
O fato de que apenas o comprimento da palavra dita os comandos significa que eu tecnicamente poderia ter criado um programa inteiramente composto de não palavras (ou seja, a letra X quantas vezes for necessário, com espaços entre as palavras), mas eu queria fazer um interessante poema de verso livre, sem adicionar bytes desnecessários.
Se você quiser experimentá-lo on-line (que é metade do ponto do projeto da turma), confira meu intérprete on-line !
fonte
05AB1E , 10 bytes
Experimente online!
Explicações:
fonte
Perl 6 , 37 bytes
Economizou 9 bytes graças a @Massa.
Experimente online!
Explicação:
25...0
é um intervalo de 25 a 0 (conforme o esperado). Nós iteramos nesse intervalo, dizendo (= imprimindo com nova linha) que muitos espaços e a sequência de caracteres que possuem códigos ASCII (chrs
) de 65 + esse número ($_+65...65
).fonte
25...0
é o caminho mais curto :-)say " "x$_,chrs $_+65...65 for 25...0
:-)Carvão ,
1911 bytes-8 bytes graças ao ASCII-only.
Experimente online! Link é a versão detalhada.
fonte
CycleChop
... mas você esqueceuIncrement
(ou como quer que seja chamado)Perl 5 , 36 bytes
Código de 35 bytes + 1 para
-p
.Nota : O TIO não suporta entrada vazia ; portanto, uma nova linha é fornecida, isso resulta em uma nova linha externa, mas ao executar na linha de comandos com entrada vazia, isso não é exibido.
Experimente online!
fonte
Ruby ,
5452 bytesExperimente online!
fonte
Cubix , 43
46bytesExperimente online!
Cubificado
Veja-o correr
Conseguiram barbear um pouco mais disso, mas foi um pouco mais difícil do que eu pensava. Existe um caractere substituto após a primeira citação para me dar 26.
'<sub>
empurre 26 na pilha como o número base:(!
base duplicada como contador, decremento, teste de verdadeu
em true pule o$
comando e gire para a direitaSo;u
pressione 32, produza como caractere, pop 32 e vire à direita para diminuir$
no salto falso o próximou
comando;:'@^
pop, duplique o número base, coloque 64 na pilha e redirecione para uma rota torturante$\s/:\/u;$
esta é a ordem das etapas na face superior. Tudo se resume a trocar o contador pelo 64. Termina com um pulo sobre o redirecionamento que o coloca aqui.<+o;U
redirecione para adicionar, caractere de saída, pop, vire à esquerda(!
decréscimo, teste a verdade. Se true inicia em um caminho que atinge a inversão de marcha e volta ao redirecionamento.|(;No
em falso, refletir, teste redundante, decremento redundante, pop, push 10 e caractere de saída;;(u!@W
desça até o número base, diminua, vire à direita no teste da verdade, pare se falso, caso contrário mude a faixa para a duplicata no início. Enxague e repita.fonte
Python, 83 bytes
Minha primeira resposta sobre codegolf :)
fonte
sed 4.2.2 + Bash , 50 bytes
Experimente online!
Bash + sed 4.2.2 , 51 bytes
Com base na resposta da @ DigitalTrauma .
Experimente online!
fonte
Vim, 43 pressionamentos de tecla
Você pode vê-lo em ação neste GIF criado usando o script python de Lynn
fonte
JavaScript,
7574 bytes1 byte economizado graças a Rick Hitchcock
Experimente online!
fonte
b
(b=''
) e removendob
os colchetes.Perl 5 , 49 bytes
Experimente online!
fonte
A
, mas parece que pode ser corrigido mudando$"x25
para$"x26
!Z
, esqueci de explicar isso.Pyke , 8 bytes
Experimente aqui!
Eu posso ver o idioma certo fazendo isso em 6 bytes, se eles tiverem um builtin
prepend n spaces to string
e o que o Pyke fazfonte
PHP (
635855 bytes)Este é possivelmente o meu canto estranho favorito do PHP, um canto que ele herda do Perl:
Isso gera a nova linha à direita, conforme explicitamente permitido. Isso pode ser executado
php -r
para salvar a abertura<?php
necessária para colocar isso em um arquivo.Explicação: quando uma variável que contém a cadeia
'A'
é incrementado em PHP, torna-se'B'
e, em seguida,'C'
e assim por diante até que'Z'
se torna'AA'
. Não há um dígito antes'A'
para começar nessa álgebra louca, e o operador de decremento não o desfaz; portanto, salvamos o alfabeto invertido incrementalmente em$z
(cujo padrãoNULL
é quando concatenado com uma string se comporta como a string vazia - o o mesmo acontece com$s
e$q
). O espaço em branco é acumulado$s
e a cadeia inteira é acumulada para trás na variável, o$q
que significa que precisamos repeti-la no final.Agradeço a Titus por jogar golfe nos meus aparelhos encaracolados e me dizer que não preciso aplicar uma penalidade por bandeiras de avaliação em linha como
-r
.fonte
-r
é grátis. Dois bytes mais curtos:for($c=A;$c!=AA;$q="$s$z\n$q",$s.=" ")$z=$c++.$z;echo$q;
-R
e não-F
é gratuito. Veja codegolf.meta.stackexchange.com/questions/2424/…$c<AA
.SOGL V0.12 ,
108 bytesExperimente aqui!
fonte
701 choose x
tentativas para qualquer inteiro x), mas uma tentativa grosseira foi de 450 bytes: PLisp comum,
8482 bytesExperimente online!
Dois bytes a menos graças ao @ Ascii-only!
fonte
Python 2 ,
7267 bytesExperimente online!
fonte