Dengeli bazlar:
Dengeli bazlar esasen normal bazlarla aynıdır, ancak basamaklar pozitif veya negatif olabilirken, normal bazlarda rakamlar sadece pozitif olabilir.
Buradan sonra, bazın dengeli bazları - yani dengeli baz 4 = bolarak temsil edilebilir .balbbal4
Bu meydan tanımı, baz dengeli bir tabanı basamak aralığı bile ilgili olduğu -(k - 1)için b - k, burada
k = ceil(b/2)
Çeşitli dengeli bazlarda basamak aralığına örnekler:
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
Dengeli bazlarda sayıların temsili temel olarak normal bazlarla aynıdır. Örneğin, dizi gösterimi 27(10 tabanı) bal4(dengelenmiş taban 4) olduğu 2 -1 -1için,
2 -1 -1 (bal4)
= 2 * 4^2 + -1 * 4 + -1 * 1
= 32 + (-4) + (-1)
= 27 (base 10)
Görev:
Göreviniz, üç girdi verildiğinde:
- dönüştürülecek sayı (
n)- bu giriş esnek olabilir, bkz. "G / Ç Esnekliği"
nşu anda bulunan taban (b)ndönüştürülecek taban (c)
Nerede 2 < b, c < 1,000.
Dengeli taban cgösterimindeki sayıyı döndürür n. Çıktı da esnek olabilir.
Program / fonksiyon ngirişin kendisinin uzunluğunu belirlemelidir .
G / Ç Esnekliği:
Giriş nve çıktınız aşağıdaki şekillerde gösterilebilir:
- dilinizin bir dizi tanımı
- ayırıcı olarak herhangi bir karaktere sahip bir dize (örneğin boşluklar, virgül)
Örnekler:
Bunların bir Python dizisi olarak nve çıktı kullandığını unutmayın. "I / O Esnekliği" tanımına uyduğu sürece dilinize uyan her şeyi kullanabilirsiniz.
[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]
Bu kod golf , bayt en kısa kod kazanır!
[1,1,1,-2,1,0]