var QUESTION_ID=70727,OVERRIDE_USER=32700;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>
Jawaban:
Pyth, 0,75
(Kebetulan juga merupakan polyglot CJam, dan mungkin banyak bahasa lainnya.)
Mengharapkan masukan pada STDIN:
Setiap digit tunggal berfungsi, tentu saja. Bukan tantangan yang paling menarik di Pyth.
sumber
Javascript ES6, 31 byte
Penjelasan
Kerangka kerja standar quine:
[prompt()]
, yang merupakan addon, mendapatkan nilai pada indeks input dari string quine yang dihasilkan.sumber
𝔼𝕊𝕄𝕚𝕟, 9 karakter / 19 byte
Try it here (Firefox only).
Ay, byte ke-19!
0
bekerja juga (dan jauh lebih baik), tapi terlalu sepele untuk seleraku.Selain itu,
ℹ ï,⧺ï
juga berfungsi, tetapi fungsi quine tidak diizinkan.Penjelasan
Kerangka kerja standar quine adalah
⟮ɕṡ+ᶈ0
.)⎖ï
mengambil string quine yang dihasilkan dan mendapatkan karakter di indeks input.Solusi bonus, 11,4 karakter / 25,65 byte
Try it here (Firefox only).
Yang ini memenuhi syarat untuk bonus 5%, tetapi masih belum mengalahkan kiriman asli saya.
Penjelasan
Yang ini menggunakan tumpukan.
ᵖ…ɕṡ+ᶈ0;
hanya mendorong karakter individual string quine ke stack, danôᵍï
langsung menampilkan karakter pada indeks input (positif atau negatif) di stack.sumber
CJam, 12,35 byte
Program ini panjangnya 13 byte dan memenuhi syarat untuk bonus × 0,95 . Cobalah online!
Bagaimana itu bekerja
sumber
0
akan sedikit lebih pendek ...Ruby, 53 * 0.75 = 39.75
Menghasilkan string HEREDOC dibatasi oleh
2
pada barisnya sendiri, menggabungkannya (*2
) dan kemudian menambahkan di final2
melalui karakter literal. Mengirisnya menggunakan Ruby bawaanString#[]
, yang mendukung bilangan bulat positif, bilangan bulat negatif, dan rentang (input dalam formulirm..n
).$><<
adalah output. (puts
akan membutuhkan ruang tambahan di sini).sumber
gets.to_i
akan melakukan hal yang samaeval gets
, dan menjadi lebih jelas. Ini tidak akan menangani input non-integer, tapi itu tidak perluRuby, 38,25 byte
Mendukung indeks dan rentang negatif. Saya secara terang-terangan mengambil keduanya
$><<
daneval
trik dari histokrat, dan trik quine adalah milik orang lain, jadi saya akan membuat CW ini.sumber
Python 2, 46,55 byte
Mendukung indeks negatif.
sumber
Haskell, 122 byte
Tidak Disatukan:
sumber
Menuju 93, 5 byte
Ini sangat (sangat) terlambat tetapi saya tetap akan mempostingnya:
sumber