var QUESTION_ID=67472,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/67472/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>
**Leaderboard:**
Jawaban:
JavaScript (ES7),
444240 byteDicoret 44 masih teratur 44 :(
Terima kasih kepada @apsillers untuk menghemat 2 byte!
Penjelasan
Bagian yang menarik adalah
-1-~((s-14)**1.3)
.(s-14)**1.3
memproduksi1
,2
,4
dan6
nilai-nilai15 - 18
. Angka apa pun yang kurang dari15
menyebabkan kesalahan karena implementasi JavaScript eksponensial tidak dapat beroperasi pada nilai negatif dengan eksponen fraksional. Pada dasarnya, nilai apa pun yangs < 15
menyebabkannya kembaliNaN
, sehingga-1-~
ada untuk melemparkannya ke angka (0
).Solusi ES6 (42 byte)
Uji
Tes ini
Math.pow
sebagai gantinya menggunakan operator eksponensial (**
) sehingga dapat berjalan di browser standar apa pun.Tampilkan cuplikan kode
sumber
|t
sebagai ganti&&t
. The ECMAScript operasiToInt32
akan selalu memaksa hasilmap
di sini untuk0
, karena array multi-elemen akan selaluToNumber
-ify keNaN
. (Ini akan menjadi masalah jika spec memperbolehkan array elemen tunggal sebagai input, tetapi membutuhkan 6 elemen.)CJam, 18 byte
atau
Uji di sini.
Penjelasan
Idenya adalah menguraikan biaya poin menjadi tiga komponen:
Ketiga komponen dapat dihitung melalui pengurangan tunggal dan membatasi hasilnya ke nilai-nilai non-negatif.
sumber
Pyth, 14 byte
Suite uji
Ini menggunakan cara perhitungan fundamental yang sama dengan Martin Büttner, yaitu:
Karena itu, cara perhitungannya sangat berbeda. Untuk menghasilkan daftar angka untuk dikurangi, saya menggunakan ekspresi
+14yB8
.yB8
berarti "Bifurcate 8 pada fungsi y". y menggandakan angka, jadi ini memberi[8, 16]
. Kemudian, kami menambahkan pada 14, memberikan daftar[14, 8, 16]
.Selanjutnya, kami mengambil produk Cartesian dengan input dan mengurangi setiap pasangan nilai.
Selanjutnya, lakukan operasi pemaksimalan, kami cukup memfilter untuk nilai positif saja, dan menjumlahkan sisanya.
sumber
Samau , 19 byte
Tidak yakin apakah pertanyaannya diposting setelah komit terakhir dari bahasa baru saya. Keduanya 2 jam yang lalu. Tetapi semua fitur yang digunakan di sini ditambahkan sebelum itu.
Samau menggunakan CP737 sebagai pengkodean karakter standarnya.
sumber
PowerShell, 48 Bytes
(Cukup yakin ini tidak optimal.)
Membawa argumen baris perintah input dan memiparnya menjadi satu lingkaran
|%{...}
. Setiap iterasi, kami menambah total kami$t+=
dengan angka saat ini minus 8$_-8
ditambah hasil pengindeksan menjadi hashtable untuk nilai yang lebih mahal@{...}[$_]
. Maka kita cukup output$t
pada akhirnya.sumber
(🐂👍) Ox ++, 248 byte (62 karakter)
Bahasa yang saya kerjakan. Rekatkan kode di sini .
sumber