Tantangan
Diberikan basis dan indeks , istilah output , didefinisikan sebagai berikut:
- diperoleh dengan mengonversi ke basis dan kemudian menafsirkan kembali digit-digitnya di basis
- Keluaran harus dalam basis
Berjalan melalui untuk basis 5, istilah 5 adalah:
- .
- jadi .
- jadi .
- jadi .
- jadi .
- Kami mengeluarkan string
"1011"
atau integer1011
.
Uji Kasus
Catatan: ini satu diindeks
base 2, term 5 --> 1100100111110011010011100010101000011000101001000100011011011010001111011100010000001000010011100011
base 9, term 70 --> 1202167480887
base 8, term 30 --> 4752456545
base 4, term 13 --> 2123103032103331200023103133211223233322200311320011300320320100312133201303003031113021311200322222332322220300332231220022313031200030333132302313012110123012123010113230200132021023101313232010013102221103203031121232122020233303303303211132313213012222331020133
Catatan
- Tidak ada celah standar
- Metode I / O standar apa pun diperbolehkan
- Anda dapat menggunakan indeks yang berbeda (seperti 0-diindeks, 1-diindeks, 2-diindeks, dll) untuk
- Anda dapat menghasilkan istilah pertama .
- Karena ini adalah kode-golf , kode terpendek menang untuk bahasa itu
11
seolah-olah itu di pangkalanb
dan mengubahnya kembali ke pangkalan 10, dll.)4a
tidak akan menjadi angka yang valid di basis-104a
, karena Anda akan menafsirkan basis 10 digit sebagai basisb
dan mengkonversi ke basis 10 setiap kali (yaitu sebaliknya dari pertanyaan ini).Jawaban:
JavaScript (Node.js) , 40 byte
Terima kasih kepada @Neil untuk menyimpan 5 byte pada versi ini dan 2 byte pada versi BigInt
Mengambil input sebagait
(t)(base)
, di mana adalah 1-diindeks.Cobalah online!
JavaScript (Node.js) , 48 byte (versi BigInt)
Mengambil input sebagait
(t)(base)
, di mana adalah 1-diindeks. Mengembalikan BigInt.Cobalah online!
sumber
eval
di versi pertama?+
akan menghemat 5 byte ...BigInt
menyimpan dua byte di versi kedua, karena Anda tidak perlu menambahkann
ke string.(b,t,x=11)=>--t?f(b,t,+x.toString(b)):x
lebih pendek 1 charf=
(karena fungsinya merujuk sendiri).n=>b=>g=(x=11n)=>--n?g(BigInt(x.toString(b))):x
:) Jika panggilanf(t)(b)()
diizinkan.05AB1E , 5 byte
Cobalah online!
Penjelasan
Perhatikan bahwa tidak perlu memulai urutan secara eksplisit di 11 .
Mulai dari
base+1
dan melakukan iterasi tambahan akan menghasilkan pemberian iterasi pertama 11 .sumber
Japt , 9 byte
Cobalah
sumber
Bahasa Wolfram (Mathematica) , 46 byte
Cobalah online!
Panggil dengan
f[base][t]
. Diindeks 0.sumber
Retina , 67 byte
Cobalah online! Mengambil input yang dipisahkan komat (diindeks 0) dan b . Apakah semua kalkulasinya di unary jadi habis untuk jumlah besar. Penjelasan:
sumber
Python 2 , 71 byte
Cobalah online!
Diindeks 0.
sumber
Clojure , 109 byte
Kredit ke MilkyWay90 untuk menghapus 10 byte dengan melihat spasi yang tidak perlu Kredit ke Perwujudan Ketidaktahuan untuk byte lain dari ruang lain yang tidak perlu
Golf
Tidak disatukan
Saya pikir byte tempat utama bisa diselamatkan adalah ekspresi untuk ... reradixing? apa pun namanya. Secara khusus:
sumber
(if (= t 1)
Perl 6 , 28 byte
Cobalah online!
Indeks ke dalam urutan berbasiskan nol.
sumber
Jelly ,
87 byteCobalah online!
Penjelasan
sumber
K (ngn / k) , 13 byte
Cobalah online!
sumber
Pyth , 8 byte
Cobalah online!
sumber
C # (Visual C # Interactive Compiler) , 87 byte
Disimpan 5 byte berkat @KevinCruijssen
Cobalah online!
sumber
do-while
menjadi loop reguler.brainfuck , 270 byte
Cobalah online!
Diindeks 0. Jumlah iterasi diasumsikan paling banyak 255.
Penjelasan
Rekaman itu ditata sebagai berikut:
Setiap digit sebenarnya disimpan sebagai digit itu ditambah 1, dengan 0 dicadangkan untuk "no more digit". Selama konversi basis, angka yang sedang dikerjakan dipindahkan satu sel ke kanan, dan basis dipindahkan ke kiri area kerja saat ini.
sumber
Arang , 14 byte
sumber
Pari / GP , 50 byte
Cobalah online!
sumber
C (gcc) , 59 byte
Cobalah online!
sumber
Groovy , 45 byte
Cobalah online!
Jawaban Port @ Arnauld
sumber
PHP ,
8375 byteCobalah online!
Yang ini hanya akan bekerja dengan angka "kecil" (mis. Tidak menguji kasus 1 dan 4)
sumber
Japt , 10 byte
Diindeks 0. Dibawa
t
sebagai input pertama,b
sebagai input kedua.Cobalah
sumber
Gaia , 8 byte
Cobalah online!
Membawa berbasis 0
iterations
lalubase
.sumber
Ruby , 39 byte
Diindeks nol.
Cobalah online!
sumber
Perl 5
-Mbigint -pa
, 65 byteCobalah online!
sumber