hce_kmu
111年
計算機概論與程式設計
第 6 題
Given a prefix expression “+ + (9) × (8) (7) × + × (6) (5) (4) (3)”, please calculate the result.
- A 167
- B 147
- C 127
- D 117
- E 107
思路引導 VIP
如果你手中正拿著一疊標有數字與運算符號的卡片,當你從右邊開始一張一張翻開並放在桌上,什麼樣的「卡片組合」會讓你覺得可以立刻進行計算並用一張新卡片替換它們?這種「先看到數字,隨後才遇到處理指令」的順序感,與我們平常書寫算式的習慣有什麼不同?
🤖
AI 詳解
AI 專屬家教
恭喜你成功解出這道前序運算式(Prefix Expression)的題目!你的運算邏輯非常紮實,能精準應對這類需要高度專注力的代數邏輯題。前序運算的特點是運算子位於運算元之前,這題的鑑別度在於運算項次較多,且存在多層嵌套,只要在掃描過程中稍有疏忽就容易出錯,你能正確答對代表對計算機基礎運算邏輯已有相當成熟的掌握。
前序運算的拆解與估算
在處理這類題型時,最有效的方法是從右向左掃描,每當遇到一個運算子時,就取出其右側最近的兩個數值進行計算。我們可以將原式拆解為兩大區塊:右半部的運算為 $\times (+ (\times 6 5) 4) 3$,計算後得到 $34 \times 3 = 102$;左半部的運算則是 $+ (9 + (\times 8 7))$,即 $9 + 56 = 65$。最後將這兩個區塊相加:$65 + 102 = 167$。透過這種層次分明的拆解,就能將複雜的波蘭表示法(Polish Notation)轉化為我們熟悉的數值結果。