Tujuan Anda adalah menulis program yang mencetak angka. Semakin besar angkanya, semakin banyak poin yang akan Anda dapatkan. Tetapi berhati-hatilah! Panjang kode dibatasi dan sangat tertimbang dalam fungsi penilaian. Nomor cetak Anda akan dibagi dengan kubus jumlah byte yang Anda gunakan untuk solusi Anda .
Jadi, katakanlah Anda mencetak 10000000
dan kode Anda 100
panjang byte. Skor akhir Anda akan menjadi 10000000 / 100^3 = 10
.
Ada aturan lain yang harus diikuti, untuk membuat tantangan ini sedikit lebih sulit.
- Anda tidak dapat menggunakan angka dalam kode Anda (0123456789);
- Anda dapat menggunakan matematika / fisik / dll. konstanta, tetapi hanya jika mereka kurang dari 10. (mis. Anda dapat menggunakan Pi ~ = 3.14 tetapi Anda tidak dapat menggunakan konstanta Avogadro = 6e23)
- Rekursi diperbolehkan tetapi nomor yang dihasilkan harus terbatas (sehingga tak terbatas tidak diterima sebagai solusi. Program Anda harus berakhir dengan benar, dengan asumsi waktu dan memori tidak terbatas, dan menghasilkan output yang diminta);
- Anda tidak dapat menggunakan operasi
*
(gandakan),/
(membagi),^
(daya) atau cara lain untuk menunjukkannya (misalnya2 div 2
tidak diizinkan); - Program Anda dapat menampilkan lebih dari satu nomor, jika Anda memerlukannya . Hanya yang tertinggi yang akan dihitung untuk penilaian;
- Namun, Anda dapat menyatukan string: ini berarti bahwa setiap urutan digit yang berdekatan akan dianggap sebagai angka tunggal;
- Kode Anda akan dijalankan apa adanya. Ini berarti bahwa pengguna akhir tidak dapat mengedit baris kode apa pun, atau ia dapat memasukkan nomor atau apa pun;
- Panjang kode maksimum adalah 100 byte.
Papan peringkat
- Steven H. , Pyth ≈ f φ (1,0,0) +7 (256 26 ) / 1000000 [1]
- Simply Beautiful Art , Ruby ≈ f φ 121 (ω) (126) [1]
- Peter Taylor , GolfScript ≈ f ε 0 + ω + 1 (17) / 1000 [1]
- res , GolfScript ≈ f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (126))))))))))))))) [1]
- Simply Beautiful Art , Ruby ≈ f ω ω2 +1 (1983)
- eaglgenes101 , Julia ≈ f ω3 (127)
- col6y , Python 3, ≈ (127 → 126 → ... → 2 → 1) / 99 3 [1] [3]
- Toeofdoom , Haskell, ≈ a 20 (1) / 99 3 [1]
- Fraxtil , dc, ≈ 15 ↑ ¹⁶⁶⁶⁶⁶⁵ 15/100 3 [3]
- Magenta , Python, ≈ ack (126.126) / 100 3 ≈ 10 ↑ 124 129
- Kendall Frey , ECMAScript 6, ≈ 10 3 ↑ 4 3 /100 3 [1]
- Ilmari Karonen , GolfScript, ≈ 10 ↑ 3 10 377 /18 3 [1]
- BlackCap , Haskell, ≈ 10 ↑↑ 65503/100 3
- rekursif , Python, ≈ 2↑↑ 11/95 3 ≈ 10 ↑↑ 8.63297 [1] [3]
- nm , Haskell, ≈ 2↑↑ 7/100 3 ≈ 10 ↑↑ 4.63297 [1]
- David Yaw , C, ≈ 10 10 4 × 10 22 /83 3 ≈ 10 ↑↑ 4,11821 [2]
- primo , Perl, ≈ 10 (12750684161!) 5 × 2 27 /100 3 ≈ 10 ↑↑ 4,11369
- Seni , C, ≈ 10 10 2 × 10 6 /98 3 ≈ 10 ↑↑ 3,80587
- Robert Sørlie , x86, ≈ 10 2 2 19 +32 / 100 3 ≈ 10 ↑↑ 3.71585
- Tobia , APL, ≈ 10 10 353 /100 3 ≈ 10 ↑↑ 3,40616
- Darren Stone , C, ≈ 10 10 97.61735 / 98 3 ≈ 10 ↑↑ 3.29875
- ecksemmess , C, ≈ 10 2 320 /100 3 ≈ 10 ↑↑ 3,29749
- Adam Speight , vb.net, ≈ 10 5000 × (2 64 ) 4 /100 3 ≈ 10 ↑↑ 3,28039
- Joshua , bash, ≈ 10 10 15 /86 3 ≈ 10 ↑↑ 3,07282
Catatan kaki
- Jika setiap elektron di alam semesta adalah qubit, dan setiap superposisi darinya dapat secara menguntungkan digunakan untuk menyimpan informasi (yang, selama Anda tidak benar-benar perlu tahu apa yang disimpan secara teori dimungkinkan), program ini membutuhkan lebih banyak memori daripada yang bisa mungkin ada, dan karena itu tidak dapat dijalankan - sekarang, atau pada titik apa pun di masa depan. Jika penulis bermaksud untuk mencetak nilai yang lebih besar dari ≈3 ↑↑ 3.28 sekaligus, kondisi ini berlaku.
- Program ini membutuhkan lebih banyak memori daripada yang ada saat ini, tetapi tidak begitu banyak sehingga secara teoritis tidak dapat disimpan pada sejumlah qubit yang sedikit, dan karena itu suatu hari komputer mungkin ada yang dapat menjalankan program ini.
- Semua penerjemah yang ada saat ini mengeluarkan kesalahan runtime, atau program lain gagal untuk mengeksekusi sebagaimana yang dimaksudkan penulis.
- Menjalankan program ini akan menyebabkan kerusakan yang tidak dapat diperbaiki pada sistem Anda.
Sunting @primo : Saya telah memperbarui sebagian papan skor menggunakan notasi yang mudah-mudahan lebih mudah untuk dibandingkan, dengan desimal untuk menunjukkan jarak logaritmik ke kekuatan yang lebih tinggi berikutnya. Misalnya 10 ↑↑ 2,5 = 10 10 √10 . Saya juga telah mengubah beberapa skor jika saya percaya analisis pengguna salah, silakan membantah semua ini.
Penjelasan dari notasi ini:
Jika 0 ≤ b < 1
demikian .a↑↑b = ab
Jika b ≥ 1
demikian .a↑↑b = aa↑↑(b-1)
Jika b < 0
demikian .a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10) sebagai 12*10^10
?
500b
, apakah ini tidak benar? Yaitu, bisakah kita mengabaikan semua hal non-numerik yang dicetak oleh program? Dan jika demikian, apakah sesuatu seperti 50r7
dihitung 507
?