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

逆ポーランド記法(後置記法)で表された式「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の3つだけで、合計は9です(1という数字はどこにも登場しません)。演算子を無視した自然な計算で10にたどり着く経路は見当たらないため、この値は誤読の産物と考えるほかありません。正しい手順は①3を積む②4を積む③「+」で3+4=7④2を積む⑤「*」で7×2=14、です。

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

この分野の解説記事

基数変換と2の補数 — 科目A最初の壁の越え方