正解は ア
逆ポーランド表記法(後置記法)の式 ABCD-×+ を評価します。スタックを使って左から右へ処理します。A=16、B=8、C=4、D=2。①A をスタックへ:[16]。②B をスタックへ:[16, 8]。③C をスタックへ:[16, 8, 4]。④D をスタックへ:[16, 8, 4, 2]。⑤「-」:C-D = 4-2 = 2、スタック:[16, 8, 2]。⑥「×」:B×(C-D) = 8×2 = 16、スタック:[16, 16]。⑦「+」:A+(B×(C-D)) = 16+16 = 32、スタック:[32]。最終結果は 32 となり、選択肢 a が正解です。中置記法に直すと A+(B×(C-D)) = 16+(8×(4-2)) = 16+(8×2) = 16+16 = 32 です。
逆ポーランド記法の処理:数値→スタックに積む、演算子→スタックから2つ取り出して計算しスタックに積む。演算子は「後に来た方が先に処理される」。中置記法に直してから計算する方が間違えにくい場合もある。