Ikhtisar
Pertimbangkan tugas berikut:
Dengan bilangan bulat positif n> 0 , hasilkan akar kuadrat bilangan bulatnya. Root kuadrat integer dari bilangan n adalah nilai x terbesar di mana x 2 ≤ n , biasanya dinyatakan dengan rumus
floor(sqrt(n))
.Contoh:
25 -> 5
,24 -> 4
,40 -> 6
,1 -> 1
.
Tugas ini cukup mudah dengan sendirinya. Namun, dalam tantangan ini, tugas Anda adalah menyelesaikannya dalam bahasa sebanyak mungkin dengan menggunakan hanya 25 karakter.
Contoh
Pertama, Anda perlu memilih satu set (tidak ada duplikat) dari 25 byte. Ini mungkin terlihat seperti ini (perhatikan ruang utama):
()*-.05:=>Mabdhilmnqrst|
Tantangan Anda adalah, dengan hanya menggunakan karakter dalam set ini, membangun solusi untuk masalah dalam sebanyak mungkin bahasa berbasis teks (maaf, Piet). Anda dapat menggunakan karakter sebanyak yang diperlukan, tetapi Anda tidak boleh menggunakan karakter di luar set.
Solusi tersebut dapat berupa program atau fungsi lengkap , tetapi bukan snippet. Misalnya, menggunakan rangkaian karakter ini, saya bisa melakukan:
M -> (int) Math.sqrt(M) // Java (lambda expression)
M => Math.sqrt(M)|0 // Javascript (unnamed function)
lambda M: int(M**.5) // Python (lambda function)
Karena saya telah menggunakan 3 bahasa, ini akan memberi saya skor 3 .
Harap sertakan juga set byte yang Anda gunakan dalam jawaban Anda.
Aturan
- Ini adalah tantangan batu rosetta - skor Anda adalah jumlah bahasa yang Anda masukkan. Skor tertinggi menang. Celah standar berlaku.
- Untuk tantangan ini, 'bahasa' dianggap sebagai bahasa pemrograman yang sangat berbeda - beberapa versi dari bahasa yang sama (Python 2, Python 3, dll) dilarang.
- Program hanya perlu bekerja untuk input dalam rentang integer standar bahasa.
- Program dengan kode sumber yang sama persis (polyglots) tidak diizinkan.
- Untuk lebih spesifik, ini adalah serangkaian byte , bukan karakter - sehingga Anda dapat menggunakan 05AB1E
£
dan Jellyɱ
sebagai karakter yang sama (karena mereka memiliki titik kode yang sama).
Tolong jangan merasa seolah-olah Anda harus mengalahkan semua solusi lain - jika Anda memiliki jawaban yang menarik, kirimkan!
P3 10 10 255
...)[]<>.,+-
- jelas berbeda dari Brainfuck? Bagaimana dengan SNUSP , turunan 2D Brainfuck? Untuk keduanya, kode yang dihasilkan tidak akan berfungsi di Brainfuck.Jawaban:
20 bahasa
Menggunakan
()-#*.05;=>^Vefikloqrst
(24 karakter) sejauh ini:sumber
flr.(tt ^.5)
untuk Keajaiban (tidak ada karakter tambahan).{}[]
Anda dapat menambahkan Brain-Flak. Inilah programnya~
, Anda bisa melakukannyasqrt~~
di Stacked ; dibutuhkan input dari TOS dan meninggalkan output pada stack.isqrt
isqrt
di Julia tidak akan dihitung karena polyglots tidak diperbolehkan.10 bahasa
Kumpulan karakter 19 karakter (dalam CP-1252 ):
Di mana
␊
mewakili umpan baris dan␍
mewakili carriage return .( Skrip untuk memeriksa karakter )
Jelly, 2 byte
Cobalah online!
05AB1E, 2 byte
Cobalah online!
GS2, 2 byte
Cobalah online!
Jolf, 3 byte
Coba di sini! (berfungsi terbaik di Firefox)
Japt, 2 byte
Coba di sini!
MATL, 3 byte
Cobalah online!
Pyke, 3 byte
Coba di sini!
Pyth, 6 byte
Coba di sini!
Oasis, 6 byte
Cobalah online!
2sable, 9 byte
Cobalah online!
sumber
cU
juga bekerja di Jolf.c
ke daftar karakter. Dia sudah menggunakan keduanyam
(di sub-jawaban Oasis) danf
(di sub-jawaban Japt dan Pyke).5 bahasa
Akan menambahkan lebih banyak bahasa segera.
Kumpulan karakter (22 byte):
Pyth
Javascript
Sebenarnya
CJam
Python
sumber
|
dengan^
dalam jawaban JavaScript Anda untuk menyimpan byte di set karakter Anda.5 bahasa
18 karakter.
Saya mencoba untuk tidak menggunakan karakter alfabet ...
Brainfuck , Brainfuck ++ , Brainfuck-ng , Braintrust , ...
Tidak berfungsi selama lebih
224
karena256
(= (sqrt (225) +1) ^ 2) meluap.Ganti semua
-
dengan+
s untuk menggunakan satu karakter lebih sedikit. (misalnya-
-> 255+
s)Program Asli
Brain-Flak
@ Kode WheatWizard Terima kasih atas izinnya!
Brain-Flueue
Kode @ WheatWizard lain.
Numberwang
Sendok
Per konsensus meta, kode ini harus baik-baik saja, meskipun saat ini tidak ada juru bahasa.
sumber
5 bahasa
Menggunakan
()*/12 dlinpqrstu
dan baris baru (18 karakter) sejauh ini.Gangguan umum
Fungsi bawaan.
QBasic
Python 3
Python 3 digunakan untuk divisi floating-point tanpa titik desimal.
Pip
Golf yang tidak perlu untuk memamerkan operator inversi unary
/
. Mengambil input dari stdin. Cobalah online!tinylisp
sqrt
adalah fungsi pembantu yang argumennya adalah: tebakan saat inin
,n
kuadrat, daninput
angka. Jikainput
kurang darinsqr
, kami sudah melangkah terlalu jauh, jadi kembalikann
minus 1; jika tidak, kambuh, tambahkan 1 ken
dan tambahkann + n + 1
kensqr
. (Matematika agak rumit karena tinylisp hanya memiliki pengurangan bawaan.) Baris kedua mendefinisikan fungsi aktual kita, yang mengambil satuinput
dan mengembalikan hasilsqrt
dengann
mulai dari 1.sumber
{}[]
Anda dapat menambahkan Brain-Flak. Inilah programnya6 bahasa
Sejauh ini, menggunakan
retun flosq(agm1)\,i
dan memperpanjang codepointB1
danBC
untuk 22 byte.Bahasa GameMaker
Pyke
Julia
Maple
Terjebak
TI-Basic (hex dump)
Perhatikan bahwa 0x72
r
dalam ASCII.sumber
7 bahasa
24
karakter:CJam
Jawa
Kode rantai
Matematika ++
Menyeringai
Terjebak
Tidak lurus
R
Biaya byte terlalu banyak
Python
sumber
R
:sqrt