【全探索 3】+1, -1, '1'+, +'1'(paizaランク B 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
有名な占い師である paiza 君は次のようなラッキーナンバーの求め方を提唱しました。
- 占い師が N 個の自然数 X_1, ..., X_N を宣言する。
- それらから 2 つの自然数を選ぶような全ての組み合わせについて次の操作をおこなう。
- 選んだ 2 つの各数字に対して、次のいずれかの操作を 1 回おこなうことができる。各数字について別々の操作をおこなうことができる。(おこなわなくても良い)
・その数字を +1 する。ex)25->26
・その数字を -1 する。ex)25->24
・その数字を、その数字の先頭に 1 をつけた数に置き換える。ex)25>125
・その数字を、その数字の末尾に 1 をつけた数に置き換える。ex)25->251
- 操作後の 2 つの数の差の絶対値の最小値を求める。
- 2. で求めることができる値のうち最小の値をラッキーナンバーとする。
占い師が宣言した自然数 X_1, ..., X_N が与えられるので、試しにこの方法でラッキーナンバーを計算してみましょう。
- 条件
-
・2 ≦ N ≦ 8
・1 ≦ X_i ≦ 100000
問題一覧へ戻る