行き方
入力整数n(n >= 0
)が与えられると、最小の正の整数 mを出力するプログラムを作成します。ここで、
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]
a
とb
は、同じ長さの有限シーケンスです- すべての要素は、
a
以下でありますm
- すべての要素は、
b
以下でありますm
- のすべての要素
a
は異なり、整数ですa[x] >= 0
- のすべての要素
b
は異なり、整数ですb[x] >= 0
a[x]
またb[x]
、両方とも0ではありません(0 ^ 0は不確定であるため)
これはcode-golfなので、バイト数が最も少なくなります。
例
In 0 -> Out 1
Possible Sum:
In 1 -> Out 2
Possible Sum: 1^0
In 2 -> Out 3
Possible Sum: 2^1
In 3 -> Out 3
Possible Sum: 2^1 + 1^0
In 6 -> Out 4
Possible Sum: 2^2 + 3^0 + 1^1
In 16 -> Out 5
Possible Sum: 2^4
In 17 -> Out 4
Possible Sum: 3^2 + 2^3
In 23 -> Out 6
Possible Sum: 5^1 + 3^0 + 2^4 + 1^3
In 24 -> Out 5
Possible Sum: 4^2 + 2^3
In 27 -> Out 4
Possible Sum: 3^3
In 330 -> Out 7
Possible Sum: 6^1 + 4^3 + 3^5 + 2^4 + 1^0
m<2
、m<3
then m<4
などのすべての組み合わせのブルートフォース検索ですn
。また、合計を無条件にする0
ことを考えましたが、出力はどうなりますか?m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k]
ます。
a
とb
は、長さの有限シーケンスであるため、制約を満たさ0
ない整数m
はなく、最小の整数がないため、答えは定義されていません。可能な修正方法は、最小の自然数m
(この場合、予想される答えをそこに変更する必要があります0
)または最小の正の整数を求めることm
です。