Sunting: Diizinkan untuk menggunakan kembali ruang putih.
Tugas Anda adalah menulis n program (atau fungsi, atau badan fungsi tanpa menggunakan parameter atau nama fungsi) dalam bahasa yang sama. Program k harus menghasilkan angka (kardinal) k dalam bahasa Inggris standar dalam huruf kecil (dengan baris tambahan opsional). Jadi program pertama harus menampilkan one
, yang kedua harus mengeluarkan two
, dll. Untuk angka yang memiliki dua bagian, mereka harus dipisahkan oleh tanda hubung seperti twenty-one
.
Tetapi tidak ada dua program dalam kiriman Anda yang dapat membagikan karakter non-spasi atau karakter spasi yang melakukan pekerjaan yang bermanfaat. Misalnya, jika program pertama Anda adil "one"
, maka tidak ada "
o
n
dan e
dapat digunakan lagi di program Anda yang lain.
Anda dapat menggunakan karakter spasi putih (spasi, baris baru dan tab) dalam dua atau lebih program, jika mereka hanya berfungsi sebagai pemisah atau lekukan dan tidak melakukan apa pun sendiri. Jadi Anda tidak dapat menggunakannya kembali dalam bahasa Whitespace , dan Anda tidak dapat menggunakannya dalam string di lebih dari satu program.
Anda hanya dapat menggunakan karakter ASCII yang dapat dicetak, tab, dan baris baru (termasuk CR dan LF). Setiap program harus mengandung setidaknya 1 karakter.
Skor Anda adalah jumlah dari 1 / ukuran program ^ 1,5. Kemenangan skor tertinggi. Anda dapat menggunakan Stack Snippet ini ( atau kode CJam ini ) untuk menghitung skor Anda:
function updatescore(a){var l=a.value.split("\n"),s=0;for(var i=0;i<l.length;i++){var t=l[i].length;t-=t&&l[i][t-1]=="\r";if(t)s+=Math.pow(t,-1.5);}document.getElementById('result').textContent=s;}
<textarea id="input" placeholder="Put your code here, one per line." style="width:100%;height:150px;box-sizing:border-box" oninput="updatescore(this)" onpropertychange="updatescore(this)"></textarea><div>Your score: <span id="result">0</span></div>
sumber
Jawaban:
gs2 , 0.38669200758867045
Hapus spasi putih dari semua program ini tetapi tiga , itu hanya untuk keterbacaan (batuk) . satu dan enam adalah program gs2 yang macet (dengan underflow dari stack), yang dengan mudah membuatnya menjadi quines .
satu (3 byte)
dua (1384 byte)
tiga (92 byte)
Banyak spasi yang signifikan jadi inilah dump hex. Ini memiliki karakter umpan baris tunggal di awal:
empat (276 byte)
lima (178 byte)
enam (3 byte)
sumber
20
through7E
,09
(tab),0A
(LF), dan0D
(CR), kan?1
dalam lima salah cetak; Saya sudah pergi dan menghapusnya. Saya akan memperbaiki tiga sekarang.CJam, 0,24075
Program
Terima kasih kepada @ user23013 untuk sarannya untuk menggunakan
'
untuk enam .Keluaran, panjang, skor, karakter yang digunakan
Verifikasi sendiri hasilnya dalam juru bahasa CJam .
sumber
Insomnia , 0.100688383057110116
Hanya untuk memulai sesuatu. Sangat tidak mungkin ini akan menang. Di bawah skema penilaian saat ini, bahasa apa pun yang dapat dicetak
one
dalam 5 karakter atau kurang memiliki keuntungan luar biasa.satu (8 byte, 0,04419417382415922)
dua (9 byte, 0,037037037037037035)
tiga (21 byte, 0,010391328106475828)
empat (23 byte, 0,009065844089438033)
sumber
Headsecks , 0,044623631135793776
Dihasilkan di sini
Bahasa ini adalah substitusi BF sederhana di mana satu-satunya hal yang penting adalah nilai karakter modulo 8.
Sayangnya, program yang lebih lama memberikan skor yang lebih buruk, meskipun bisa mencapai dua belas ! (Saya bisa menjadi lebih tinggi jika saya bisa menggunakan ASCII yang tidak dapat dicetak, dan Unicode.)
satu
dua
tiga
empat
lima
enam
tujuh
delapan
sembilan
sepuluh
sebelas
duabelas
sumber
/// , 0.19245008972987526
Jawaban ini terinspirasi oleh jawaban @ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳, di mana ia berkata
sumber
SmileBASIC, .10062
"satu"
"dua"
Jawaban saya yang lain lebih menarik, tetapi yang ini mendapat skor lebih tinggi.
Strategi penting untuk mendapatkan rantai terpanjang adalah menggunakan lebih banyak karakter untuk menghemat karakter UNIK (misalnya, menggunakan
x - -x
dalam program 2 untuk menyimpany + y
untuk program 3)Masalah dengan sistem penilaian adalah skornya 2 program pendek lebih baik dari 3 program panjang, jadi tidak ada alasan untuk menyimpan karakter untuk program selanjutnya jika itu membuat program saat ini lebih lama.
Selain itu, nilai program individu pendek lebih tinggi dari ukuran TOTAL yang lebih kecil. Jika saya bertukar
?
danPRINT
dalam jawaban saya, saya dapat menyimpan 1 karakter, tetapi skor saya SETENGAH.Saya pikir akan lebih baik untuk mendasarkannya hanya pada sejumlah program, dengan ukuran total sebagai tiebreak.
sumber
o
...