Q6 論理パズル①の解答
プログラミングの入門パズルだ!
この問題は、計算ができる人なら誰でも、時間さえかければ必ず解くことができる。なぜなら、5種類の操作を1回ずつ使う方法は、5×4×3×2×1=120通りしかないからだ。
だが、カンのいい人ならもう少し数え上げる手間を減らすことができる。まずは、❶に絶対に来ることのできない操作が2つある。問題に書いてあった操作オの他に、操作イが❶に来ると数値が1/2(0.5)となり、分数や小数が出てきてはいけないというルールに違反してしまう。
【思考のポイント】
そうすると❶に入ることができるのは、操作ア、ウ、エしかないね! これによって候補を3×4×3×2×1=72通りまで絞ることができる。
さらに賢く候補を絞る方法がある。それは、「答えの数字がとても小さい」ということに注目することだ。
操作イは操作前の数字よりも操作後の数字を小さくするが、操作ア、ウ、エは、操作前に比べて操作後の数字が必ず増える。操作オは計算結果が増えるか減るかわからない。だから、ゴールしたとき、スタート時の1から9までしか増えていないというのは、かなり特別な状況であるに違いない。
もし操作オが数値を増やすとするなら、数値を減らすことができるのは操作イだけとなる。この場合、ゴールの数字は9よりも大きくなってしまうと推理できる。
【思考のポイント】
操作後の数字を小さくするためには、操作オ「直前の操作を繰り返す」が数値を減らすような位置にくることが必要だ。これには、操作オを操作イの後に持ってくればいい。この「イ+オ」を1手順と考えると、パターンは全体で4手順、3×3×2×1=18通りまで絞れる!
ここまでくれば、10分もかからずに答えを導き出すことができるだろう。
Q7は次のページへGO!