メインコンテンツへ
基礎理論逆ポーランド記法

逆ポーランド記法(後置記法)で表された式「3 4 + 2 *」を計算した結果はどれか。

ア.14正解
イ.11
ウ.24
エ.10

解説

逆ポーランド記法はスタックで計算する「材料を積んで演算子が来たら取り出す」方式。ポーランドの数学者ルカシェヴィッチが考案したコンピュータ向け表現です。

なぜ ア が正解か

スタックを使って左から順に処理します。 ① 「3」→スタックに積む: [3] ② 「4」→スタックに積む: [3, 4] ③ 「+」→上2つを取り出して加算: 3+4=7、結果をスタックへ: [7] ④ 「2」→スタックに積む: [7, 2] ⑤ 「*」→上2つを取り出して乗算: 7×2=14、結果をスタックへ: [14] 最終的にスタックの一番上が答え: 14

なぜ イ は間違いか

「11」は 3+(4×2)=11 と、通常の中置記法で左から計算した誤りです。逆ポーランド記法では演算子の位置がすでに優先順位を決定しており、追加の括弧は不要です。

なぜ ウ は間違いか

「24」は 3×4×2=24 と、演算子「+」を「×」と誤読した計算ミスです。記号の読み間違いは典型的なミスパターンです。

なぜ エ は間違いか

「10」は 3+4+2+1=10 のように式中の数字をすべて足してしまう計算ミスで得られる値ですが、そもそも式「3 4 + 2 *」に「1」は登場しません。演算子を無視してすべての数値を加算してしまった誤りです。スタック操作を忠実にトレースすることが逆ポーランド記法計算の鉄則です。

出典: AI生成問題(学習用)