var QUESTION_ID=191101;
var OVERRIDE_USER=8478;
var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;function answersUrl(d){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+d+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(d,e){return"https://api.stackexchange.com/2.2/answers/"+e.join(";")+"/comments?page="+d+"&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(d){answers.push.apply(answers,d.items),answers_hash=[],answer_ids=[],d.items.forEach(function(e){e.comments=[];var f=+e.share_link.match(/\d+/);answer_ids.push(f),answers_hash[f]=e}),d.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(d){d.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),d.has_more?getComments():more_answers?getAnswers():process()}})}getAnswers();var SCORE_REG=function(){var d=String.raw`h\d`,e=String.raw`\-?\d+\.?\d*`,f=String.raw`[^\n<>]*`,g=String.raw`<s>${f}</s>|<strike>${f}</strike>|<del>${f}</del>`,h=String.raw`[^\n\d<>]*`,j=String.raw`<[^\n<>]+>`;return new RegExp(String.raw`<${d}>`+String.raw`\s*([^\n,]*[^\s,]),.*?`+String.raw`(${e})`+String.raw`(?=`+String.raw`${h}`+String.raw`(?:(?:${g}|${j})${h})*`+String.raw`</${d}>`+String.raw`)`)}(),OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(d){return d.owner.display_name}function process(){var d=[];answers.forEach(function(n){var o=n.body;n.comments.forEach(function(q){OVERRIDE_REG.test(q.body)&&(o="<h1>"+q.body.replace(OVERRIDE_REG,"")+"</h1>")});var p=o.match(SCORE_REG);p&&d.push({user:getAuthorName(n),size:+p[2],language:p[1],link:n.share_link})}),d.sort(function(n,o){var p=n.size,q=o.size;return p-q});var e={},f=1,g=null,h=1;d.forEach(function(n){n.size!=g&&(h=f),g=n.size,++f;var o=jQuery("#answer-template").html();o=o.replace("{{PLACE}}",h+".").replace("{{NAME}}",n.user).replace("{{LANGUAGE}}",n.language).replace("{{SIZE}}",n.size).replace("{{LINK}}",n.link),o=jQuery(o),jQuery("#answers").append(o);var p=n.language;p=jQuery("<i>"+n.language+"</i>").text().toLowerCase(),e[p]=e[p]||{lang:n.language,user:n.user,size:n.size,link:n.link,uniq:p}});var j=[];for(var k in e)e.hasOwnProperty(k)&&j.push(e[k]);j.sort(function(n,o){return n.uniq>o.uniq?1:n.uniq<o.uniq?-1:0});for(var l=0;l<j.length;++l){var m=jQuery("#language-template").html(),k=j[l];m=m.replace("{{LANGUAGE}}",k.lang).replace("{{NAME}}",k.user).replace("{{SIZE}}",k.size).replace("{{LINK}}",k.link),m=jQuery(m),jQuery("#languages").append(m)}}
body{text-align:left!important}#answer-list{padding:10px;float:left}#language-list{padding:10px;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="https://cdn.sstatic.net/Sites/codegolf/primary.css?v=f52df912b654"> <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><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><a href="{{LINK}}">{{SIZE}}</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td><a href="{{LINK}}">{{SIZE}}</a></td></tr></tbody> </table>
b/0 = b
kemudian jika saya membagi kedua bagianb
itu1/0 = 1
. Apakah saya perluc
-jumlah untuk membagi seperti ini?b/b = 0
ketika itu normal (dan saya cukup yakin itu mudah dibuktikan dari semua aksioma) diharapkan menjadi 1 (jika tidak, invers multiplicative b tampaknya bukan invers multiplicative-nya). Saya cukup yakin Anda tidak bisa celah melawan divisi dengan nol dengan menambahkanb=1/0
atau yang serupa.0b
daripada0
? Jika kedua ungkapan itu setara, maka pertanyaannya tidak memiliki premis3.1b/0
Jawaban:
Malbolge Unshackled (varian rotasi 20-trit), 3,62e6 byte
Ukuran jawaban ini melebihi ukuran program maksimum yang dapat diposkan (eh), jadi kodenya terletak di repositori GitHub saya (catatan: Jangan menyalin kode menggunakan CTRL + A dan CTRL + C, cukup klik kanan dan klik "Simpan elemen tujuan sebagai. .. ").
Bagaimana cara menjalankannya?
Ini mungkin bagian yang sulit, karena juru bahasa Haskell yang naif akan membutuhkan waktu lama untuk menjalankannya. TIO memiliki penerjemah Malbogle Unshackled yang layak, tetapi sayangnya saya tidak dapat menggunakannya (batasan).
Yang terbaik yang bisa saya temukan adalah varian lebar rotasi 20-trit, yang berkinerja sangat baik, menghitung (cukup banyak) secara instan .
Untuk membuat penerjemah sedikit lebih cepat, saya telah menghapus semua cek dari penerjemah Malbolge Unshackled milik Matthias Lutter.
Bekerja!
sumber
PHP ,
65646158 byte-1 byte dengan menggunakan
b
bukan''
(string kosong). Karena "b" dipangkas, itu akan sama dengan string kosong dalam kasus khusus ini.-3 byte dengan menggunakan
substr
alih-alihexplode
untuk mendapatkan bagian pertama dari input.-3 byte dengan menggunakan metode yang lebih baik untuk mendeteksi
1
dan-1
.Cobalah online!
Tes: Coba online!
Jika bagian pertama dari input sebelum "/" (kami menyebutnya
$n
) adalah 0, cetak 0.Lain mencetak
$n
dirinya sendiri dengan huruf "b" di bagian akhir yang dipangkas darinya dan case khusus dari -1 dan 1 ditangani, sehingga digit "1" tidak dicetak. Dan pada akhirnya menambahkan satu "b". Bagian pemangkasan adalah untuk memastikan kita tidak mendapatkan "b" ganda pada akhirnya seperti "3bb".sumber
$n==-1
dengan$n>0
(-2 byte) tampaknya berhasil. Anda bisa mencobanya.$n<0
, itu tidak akan berfungsi juga, karena kami memiliki input seperti-8/0
.$n==-1?'-':$n
dengan$n+1?$n:'-'
untuk menghemat 2 byte!Jelly , 19 byte
Cobalah online!
Program lengkap.
sumber
Jelly , 18 byte
Saya akhirnya mencuri Erik
ṾṖ$İƑ¡
untuk yang satu ini (kalau tidak saya juga punya 19) ...Program lengkap yang mencetak hasilnya.
Cobalah online! Atau lihat test-suite .
Bagaimana?
sumber
v
...: DPerl 6 , 32 byte
Cobalah online!
Beberapa regexes, satu untuk memeriksa apakah input
0/0
, dan yang lainnya untuk menggantikan trailing/0
hanya denganb
(dan untuk menghapus yang lamab
,1
dan / atau-1
)Penjelasan (lama)
sumber
Retina ,
2824 byteCobalah online!
Pertama-tama cobalah menggunakan Retina, jadi mungkin ada ruang yang cukup untuk bermain golf.
sumber
\b
(saya yang tidak berpengalaman dengan regex), saya agak kecewa menemukan bahwa itu tidak dapat disingkat menjadi karakter backspace yang tidak dapat dicetak. Bagaimanapun, terima kasih\b
hanyalah representasi ASCII dari karakter backspace dalam string normal: PPython 3 , 68 byte
Cobalah online!
sumber
import re
naik bytecount ke 64.Tong , 18B
Semua kredit untuk Jono 2906.
Penjelasan
TIO!
sumber
Bahasa Wolfram (Mathematica) , 37 byte
Cobalah online!
Mengambil daftar karakter sebagai input.
sumber
JavaScript (ES6), 45 byte
Cobalah online!
Berkomentar
sumber
C,
209203137 byte-66 bytes berkat ceilingcat
TIO
sumber
Brainfuck, 25 byte
Penjelasan
sumber
b/0
diharapkanb
, didapatbb
;0/0
diharapkan0
, dapatkan0b
;-1/0
diharapkan-b
, dapatkan-1b
./0
untukb
dan tidak memperhitungkan salah satu kasus untuk0b
,1b
,-1b
atau input yang sudah mengandungb