Jika Anda pikir ini bisa menyenangkan, tapi terlalu banyak pekerjaan, mempertimbangkan berpartisipasi dalam ini tantangan yang jauh lebih kecil.
Sedikit kesenangan (dan mungkin frustrasi!) Untuk 2016 ... "puzzle of the year" Dyalog . Nikmati!
Objektif
Temukan Dyalog APL ( unduh ) ekspresi (bahasa lain diizinkan, lihat Kelayakan di bawah) yang melibatkan digit tepat 2 0 1 6 agar sama dengan angka 0 hingga 100. Misalnya:
20=16
×2016
2⌊016
2+0+1*6
...
Tujuannya adalah untuk menggunakan karakter sesedikit mungkin dalam setiap ekspresi (jumlah minimum karakter untuk ekspresi adalah 5 - empat digit 2 0 1 6 dan satu fungsi / operator primitif tunggal).
Aturan
- Setiap ekspresi harus mengandung digit 2 0 1 6 (dalam urutan itu) dan tidak ada digit lainnya. Konstanta dan variabel yang telah ditentukan sebelumnya juga tidak diizinkan.
- Selain empat digit 2 0 1 6, hanya simbol dan nama bawaan, tanda kurung / kurung kurawal, spasi, tanda minus tinggi dan titik desimal yang dapat digunakan. Ekspresi yang dihasilkan harus deterministik (yaitu, memberikan hasil yang sama pada evaluasi berulang). Untuk non-APL, fungsi / operator dengan nama juga diperbolehkan; aturan yang sama dengan sini .
- Asumsikan semua pengaturan default untuk bahasa Anda. Untuk Dyalog APL, ini berarti
⎕ML
dan⎕IO
keduanya 1, dan⎕PP
adalah 10. - Setiap entri yang terdiri dari ekspresi yang benar untuk semua angka dari 0 hingga 100 akan dinilai berdasarkan jumlah karakter yang digunakan oleh ekspresi tersebut tidak termasuk ruang yang berlebihan (minimal 505 untuk semua 101 ekspresi).
Kelayakan
Siapa pun bisa masuk. Anda dapat menjawab dalam bahasa apa pun, tetapi hanya jawaban APL yang akan dipertimbangkan untuk menerima. Jika Anda menggunakan bahasa lain selain APL, Anda dapat menggunakan cuplikan, program, fungsi, dll. Sebagai alternatif untuk ekspresi, dan Anda dapat mencetak, meninggalkan nomor di lokasi memori yang dapat diakses, atau mengembalikan hasilnya, selama kode Anda langsung mengevaluasi ke nomor yang diinginkan sebagai tipe data numerik standar untuk bahasa Anda.
Tanggal Penutupan
30 November 2016.
Hadiah
- Dapatkan jawaban Anda diterima
- Diabadikan di Hall of Fame 2016 Dyalog!
Mengirimkan Entri Anda
Setelah 30 November 2016, saya akan menerima jawaban terpendek, dan mengirimkan jawaban Anda , atas nama Anda , ke Hall of Fame 2016 Dyalog.
Faq
- Apakah
J
(mis. 37 =⌈⍟!20J16
) diperbolehkan? - Tidak: Selain empat digit 2 0 1 6, hanya simbol dan nama bawaan, kurung / kurung kurawal, spasi, tanda minus tinggi dan titik desimal yang dapat digunakan.
- Apakah output sebagai string dapat diterima?
- Tidak: sama dengan angka 0 hingga 100.
- Digit fisik, atau digit data?
- Digit data, sesuai OP: aturan yang sama seperti di sini , di mana salah satu contoh berisi
LOG10(
. - Apakah menugaskan variabel kemudian menggunakannya sebagai bagian dari ekspresi (mis. 56 =
a+16+a←20
) diperbolehkan? - Ya, tetapi Anda mungkin tidak menggunakan tugas dari satu ekspresi di ekspresi lain.
Saya memiliki izin tertulis secara eksplisit untuk mengirimkan tantangan ini di sini dari penulis asli tantangan ini. Jangan ragu untuk memverifikasi dengan mengikuti tautan yang disediakan dan menghubungi penulis. Saya memberi tautan kepada penulis kompetisi asli tautan ke halaman ini begitu saya mempostingnya, sehingga mereka dapat memeriksa apakah saya mengirimkan jawaban seseorang sebagai milik saya.
⎕ML
dan ⎕IO
(dianggap 1
) dapat diterima?