正答3
解説
正解は3です。
逆ポーランド表記法(後置記法)の式を計算する問題です。
左から読み、値はスタックに積み、演算子が来たら直前の2つの値を取り出して計算します。
【計算】
AとBを積み、+でA+B=1+3=4になります。
次にC、D、Eを積み、/でD/E=4/2=2になります。
続く-で、その下にあるCとの差C-2=5-2=3になります。
最後の*で、残っている4と3を掛けて4*3=12です。
中置記法で書くと、(A+B)*(C-D/E) です。
【選択肢別解説】
1:× -12は、減算の順序を逆にして2-5=-3としたときの値です。
逆ポーランド表記法では先に積んだ値から後の値を引くので、正しくは5-2=3です。
2:× 2はD/Eの途中結果にすぎません。
この後に-と*の演算が残っており、最終結果ではありません。
3:○ 上の計算どおり、(1+3)*(5-4/2)=4*3=12です。
4:× 14は、後置記法を左から正しくたどっても得られない値です。
スタックを使って順に計算すると12になります。
【ポイント】
後置記法では、演算子の直前の2つの値が演算対象になります。
減算と除算は順序で結果が変わるので、「先に積んだ値 op 後に積んだ値」と覚えておきましょう。