Basis seimbang:
Basis seimbang pada dasarnya sama dengan basis normal, kecuali bahwa digit bisa positif atau negatif, sedangkan dalam basis normal digit hanya bisa positif.
Dari sini, basis basa yang seimbang bdapat direpresentasikan sebagai balb- basa yang seimbang 4 = bal4.
Dalam definisi tantangan ini, rentang angka dalam basis basis yang seimbang badalah dari -(k - 1)ke b - k, di mana
k = ceil(b/2)
Contoh rentang angka di berbagai basis seimbang:
bal10:
k = ceil(10/2) = 5
range = -(5 - 1) to 10 - 5 = -4 to 5
= -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
bal5:
k = ceil(5/2) = 3
range = -(3 - 1) to 5 - 3 = -2 to 2
= -2, -1, 0, 1, 2
Representasi angka dalam basis seimbang pada dasarnya sama dengan basis normal. Misalnya, representasi angka 27(basis 10) ke bal4(basis seimbang 4) adalah 2 -1 -1, karena
2 -1 -1 (bal4)
= 2 * 4^2 + -1 * 4 + -1 * 1
= 32 + (-4) + (-1)
= 27 (base 10)
Tugas:
Tugas Anda adalah, diberi tiga input:
- nomor yang akan dikonversi (
n)- input ini bisa fleksibel, lihat "Fleksibilitas I / O"
- basis yang
nsaat ini ada di (b) - basis yang
nakan dikonversi menjadi (c)
Mana 2 < b, c < 1,000.
Kembalikan angka dalam crepresentasi basis seimbang n. Outputnya juga bisa fleksibel.
Program / fungsi harus menentukan panjang dari ninput itu sendiri.
Fleksibilitas I / O:
Input ndan output Anda dapat direpresentasikan dengan cara berikut:
- definisi bahasa Anda tentang sebuah array
- string, dengan karakter apa saja sebagai pemisah (mis. spasi, koma)
Contoh:
Perhatikan bahwa ini menggunakan array Python sebagai ndan output. Anda dapat menggunakan apa pun yang cocok dengan bahasa Anda, asalkan sesuai dengan definisi "I / O Fleksibilitas".
[2, -1, -1] 4 7 = [1, -3, -1]
[1, 2, 3, 4] 9 5 = [1, 2, 2, -1, 2]
[10, -9, 10] 20 5 = [1, 1, 1, -2, 1, 0]
Ini adalah kode-golf , jadi kode terpendek dalam byte menang!
[1,1,1,-2,1,0]