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>
Rel , 56 byte
Angka
Ada 16 spasi tambahan di baris kedua. Program berakhir dengan kesalahan.
Cobalah online!
Tanah
Ada 7 spasi di baris pertama dan 9 spasi di baris terakhir. Program ini juga berakhir dengan kesalahan.
Cobalah online!
Penjelasan
Rail mencari garis yang dimulai dengan (notasi regex)
\$.*'main'
untuk menemukan titik masuk. Kereta (penunjuk instruksi) kemudian mulai dari$
arah tenggara. Hal-hal yang tidak dapat dijangkau oleh kereta dapat diabaikan sepenuhnya untuk program ini. Ini termasuk apa pun pada baris yang sama dengan titik masuk. Karena,-
tenggara dari$
segera belok ke timur kereta, kedua program hanya mengurangi menjadi:[...]
menunjukkan string literal dano
mencetaknya. Biasanya, Anda perlu#
mengakhiri rel, tetapi jika Anda mengabaikannya, program akan berakhir (tetapi mengeluh pada STDERR bahwa kereta itu mogok).sumber
> <> , 39 byte
Menggunakan
·
untuk mewakili spasi.Angka
Cobalah online!
Tanah
Cobalah online!
Kedua program berakhir dengan kesalahan.
Penjelasan
Dengan menulis kode secara vertikal, saya dapat menggunakan kembali
g
dan dir
antara kedua solusi, serta kutipan dan>
dano
untuk loop keluaran.Dalam kedua kasus, satu-satunya bit yang dieksekusi adalah kolom di bawah
v
, yang mendorong huruf-huruf kata yang diperlukan ke tumpukan dalam urutan terbalik. Kemudian>
arahkan kembali pointer instruksi ke kanan, di mana loop melewatio
, mencetak karakter sampai tumpukan kosong.sumber
!__|"druong">o<"figure"
(di mana_
spasi, dan spasi yang tersisa cukup di akhir baris).Fission , 37 byte
Menggunakan
·
untuk mewakili spasi.Angka
Cobalah online!
Tanah
Cobalah online!
Penjelasan
Bekerja pada dasarnya sama dengan jawaban saya> <> (walaupun saya benar-benar menemukan ini dulu). Satu-satunya perbedaan adalah bahwa
"
mencetak karakter segera di Fission, itulah sebabnya kata-kata tidak ditulis terbalik dan mengapa kita hanya perlu mengakhiri program dengan;
di akhir.sumber
reticular, 46 byte
Cobalah online! Ini mencetak
ground
.Cobalah online! Ini mencetak
figure
.tanah
Kode yang relevan:
angka
Kode yang relevan:
sumber
Brian & Chuck ,
5553 byteAngka
Ada 13 spasi tambahan di setiap baris.
Cobalah online!
Tanah
Cobalah online!
Penjelasan
Ah, sudah lama sejak terakhir kali saya menggunakan Brian & Chuck. Sebagai pengingat singkat, Brian dan Chuck adalah dua contoh seperti Brainfuck, yang menggunakan kode sumber masing-masing sebagai rekaman mereka. Hanya Chuck yang dapat menggunakan perintah pencetakan
.
,?
beralih di antara kedua instance secara kondisional, dan}
semacamnya[>]
di Brainfuck. Perintah yang tidak dikenal diabaikan begitu saja.Karena ruang di awal program diabaikan, kedua program hampir identik. Satu-satunya perbedaan berasal dari fakta bahwa setelah perintah switching
?
, penunjuk instruksi bergerak sebelum mengeksekusi perintah berikutnya. Oleh karena itu, perintah pertama pada rekaman Chuck selalu dilewati. Jadi satu-satunya perbedaan nyata adalah bahwa program dasar mengeksekusi}
sedangkan program angka tidak. Jadi, inilah cara kerjanya:sumber
WinDbg, 74 byte
Tanah
Angka
Gambar memiliki 2 spasi tambahan. Saya merasa setidaknya 2 atau 4 byte seharusnya golfable ...
It works by writing a string to memory and showing 6 chars from it. The chars in the string are re-arranged so the shown chars change between the programs:
Output:
sumber