function answersUrl(a){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(a,b){return"http://api.stackexchange.com/2.2/answers/"+b.join(";")+"/comments?page="+a+"&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(a){answers.push.apply(answers,a.items),answers_hash=[],answer_ids=[],a.items.forEach(function(a){a.comments=[];var b=+a.share_link.match(/\d+/);answer_ids.push(b),answers_hash[b]=a}),a.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(a){a.items.forEach(function(a){a.owner.user_id===OVERRIDE_USER&&answers_hash[a.post_id].comments.push(a)}),a.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(a){return a.owner.display_name}function process(){var a=[];answers.forEach(function(b){var c=b.body;b.comments.forEach(function(a){OVERRIDE_REG.test(a.body)&&(c="<h1>"+a.body.replace(OVERRIDE_REG,"")+"</h1>")});var d=c.match(SCORE_REG);d?a.push({user:getAuthorName(b),size:+d[2],language:d[1],link:b.share_link}):console.log(c)}),a.sort(function(a,b){var c=a.size,d=b.size;return c-d});var b={},c=1,d=null,e=1;a.forEach(function(a){a.size!=d&&(e=c),d=a.size,++c;var f=jQuery("#answer-template").html();f=f.replace("{{PLACE}}",e+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link),f=jQuery(f),jQuery("#answers").append(f);var g=a.language;g=jQuery("<a>"+g+"</a>").text(),b[g]=b[g]||{lang:a.language,lang_raw:g,user:a.user,size:a.size,link:a.link}});var f=[];for(var g in b)b.hasOwnProperty(g)&&f.push(b[g]);f.sort(function(a,b){return a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase()?1:a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase()?-1:0});for(var h=0;h<f.length;++h){var i=jQuery("#language-template").html(),g=f[h];i=i.replace("{{LANGUAGE}}",g.lang).replace("{{NAME}}",g.user).replace("{{SIZE}}",g.size).replace("{{LINK}}",g.link),i=jQuery(i),jQuery("#languages").append(i)}}var QUESTION_ID=101275,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=8478,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\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:350px;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="language-list"> <h2>Shortest Solution 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><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><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>
Trilho , 56 bytes
Figura
Existem 16 espaços à direita na segunda linha. O programa termina com um erro.
Experimente online!
Terreno
Existem 7 espaços na primeira linha e 9 espaços à direita na última linha. Este programa também termina com um erro.
Experimente online!
Explicação
O trilho procura uma linha começando com (notação regex)
\$.*'main'
para encontrar um ponto de entrada. O trem (ponteiro de instruções) começa a partir do$
sudeste em movimento. Coisas que não são acessíveis pelo trem podem ser completamente ignoradas no programa. Isso inclui qualquer coisa na mesma linha que o ponto de entrada. Como o-
sudeste do$
imediatamente vira o trem para o leste, ambos os programas simplesmente se reduzem a:[...]
denota uma string literal e ao
imprime. Normalmente, você precisa#
finalizar o trilho, mas se você o omitir, o programa será encerrado de qualquer maneira (mas reclama do STDERR que o trem caiu).fonte
> <> , 39 bytes
Usando
·
para representar espaços.Figura
Experimente online!
Terreno
Experimente online!
Ambos os programas terminam com um erro.
Explicação
Ao escrever o código verticalmente, fui capaz de reutilizar as soluções entre
g
er
entre, bem como as aspas e o>
eo
para o loop de saída.Nos dois casos, o único bit executado é a coluna abaixo da
v
, que coloca as letras da palavra necessária na pilha na ordem inversa. Em seguida,>
redireciona o ponteiro de instruções para a direita, onde passa peloo
, imprimindo os caracteres até que a pilha esteja vazia.fonte
!__|"druong">o<"figure"
(onde_
estão os espaços e os espaços restantes simplesmente vão no final da linha).Fissão , 37 bytes
Usando
·
para representar espaços.Figura
Experimente online!
Terreno
Experimente online!
Explicação
Funciona basicamente da mesma forma que a minha>> resposta (embora eu tenha encontrado essa primeira). As únicas diferenças são que
"
imprime os caracteres imediatamente em Fission, e é por isso que as palavras não são escritas de cabeça para baixo e por que precisamos encerrar o programa;
no final.fonte
reticular, 46 bytes
Experimente online! Isso imprime
ground
.Experimente online! Isso imprime
figure
.chão
Código relevante:
figura
Código relevante:
fonte
Brian & Chuck ,
5553 bytesFigura
Existem 13 espaços finais em cada linha.
Experimente online!
Terreno
Experimente online!
Explicação
Ah, já faz um tempo desde a última vez que usei Brian & Chuck. Como um breve lembrete, Brian e Chuck são duas instâncias do tipo Brainfuck, que usam o código-fonte um do outro como fita. Somente Chuck pode usar o comando de impressão
.
,?
alterna entre as duas instâncias condicionalmente e}
é mais ou menos como[>]
Brainfuck. Comandos desconhecidos são simplesmente ignorados.Como os espaços no início dos programas são ignorados, os dois programas são quase idênticos. A única diferença vem do fato de que, após o comando de alternância
?
, o ponteiro da instrução se move antes de executar o próximo comando. Portanto, o primeiro comando na fita de Chuck é sempre ignorado. Portanto, a única diferença real é que o programa em terra executa o}
passo que o programa em figura não. Então, aqui está como o código funciona:fonte
WinDbg, 74 bytes
Terreno
Figura
A figura possui 2 espaços à direita. Eu sinto que pelo menos 2 ou 4 bytes deveriam ser jogáveis ...
Ele funciona escrevendo uma string na memória e mostrando 6 caracteres. Os caracteres na sequência são reorganizados para que os caracteres mostrados sejam alterados entre os programas:
Saída:
fonte