バランスの取れたベース:
バランスの取れた基数は通常、通常の基数と同じですが、数字が正または負になる場合がありますが、通常の基数では数字のみが正になる場合があります。
ここで上から、塩基のバランスのとれた塩基は、b
として表すことができるbalb
ので、バランスのとれたベース4 = - bal4
。
このチャレンジの定義では、ベースのバランスの取れたベースの桁の範囲b
はから-(k - 1)
でありb - k
、ここで
k = ceil(b/2)
さまざまなバランスの取れた基数の桁の範囲の例:
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
バランスのとれた基数での数値の表現は、基本的に通常の基数と同じです。たとえば、数27
(基数10)からbal4
(バランスのとれた基数4)の表現は2 -1 -1
、
2 -1 -1 (bal4)
= 2 * 4^2 + -1 * 4 + -1 * 1
= 32 + (-4) + (-1)
= 27 (base 10)
仕事:
あなたのタスクは、3つの入力が与えられます:
- 変換される数(
n
)- この入力は柔軟です。「I / Oの柔軟性」を参照してください
n
現在(b
)にあるベースn
(c
)に変換されるベース
どこで2 < b, c < 1,000
。
の平衡ベースc
表現で数値を返しn
ます 出力は柔軟にすることもできます。
プログラム/関数はn
、入力自体からの長さを決定する必要があります。
I / Oの柔軟性:
入力n
と出力は次の方法で表すことができます。
- 言語の配列の定義
- 任意の文字を区切り文字とする文字列(スペース、コンマなど)
例:
これらはPython配列をn
出力として使用することに注意してください。「I / O柔軟性」の定義に収まる限り、言語に合ったものを使用できます。
[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]
これはcode-golfなので、バイト単位の最短コードが勝ちです!
[1,1,1,-2,1,0]