24 Game Solver 是一款基於瀏覽器的工具,能找出所有將四個整數恰好運算成 24 的算式,每個數字僅使用一次,並僅採用四則基本運算。它接受 1 到 99 之間任意四個整數,使用精確的化簡分數而非浮點數進行窮舉搜尋,並回傳最多 50 個由最短到最長排序的有效建構式。每個被接受的算式都恰好使用每個輸入值一次,結合加、減、乘、除與括號,並以完整形式輸出,例如 8 ÷ (3 − 8 ÷ 3) = 24,讓玩家能直接核對手中的牌。其規則符合 UC Santa Cruz MBAMP 數學計畫 所記錄的標準 24 Game —— 不使用串接、冪次、階乘或一元負號作為額外手段。整個處理過程都在瀏覽器中完成,因此數字與算式絕不會被上傳或儲存。對於想要為卡住的牌局取得驗證答案的 Cool Math Games 玩家來說,24 Game Solver 只需一次點擊就能給出最終裁決。

Cool Math Games 玩家如何接觸到解題器
24 Game 出現在 Cool Math Games、課堂學習單以及益智 App 中的快速腦力挑戰裡。前提很簡單:給定四個數字,運用 +、−、×、÷ 與括號將它們結合,使結果等於 24。難處在於許多牌局需要分數作為中間值,只測試整數算術的玩家會完全錯過這些解。解題器的存在正是為了這個理由 —— 它消除了反覆試錯的負擔,一次回傳所有有效的建構式。對於來自 Cool Math Games、只想看到答案的玩家,24 Game Solver 只需一次點擊就能處理與網站題目相同的牌局。
有些牌局一眼就能看出可解,例如 1、2、3、4,將四個數字全部相乘即可立刻得到 24。有些牌局在玩家發現某個除法能產生有用的分數之前,看起來像是無解。還有些牌局,例如 1、5、11、13,在標準規則下確實無解,無論花多少時間都無法解出。了解手中屬於哪一類牌局,是有效使用解題器的第一步:你要嘛確認解存在,要嘛確認解不存在,無論哪種結論都有用。
如何找出所有等於 24 的算式
- 開啟解題器並輸入剛好四個整數。每個欄位接受 1 到 99 之間的值。僅接受整數 —— 分數、小數與負數依輸入規範不被允許,而且在輸入四個有效值之前,搜尋不會執行。
- 選擇 Solve 啟動窮舉搜尋。解題器挑出剩餘詞彙中每個無序配對,以加法與乘法、兩種減法順序,以及兩種合法除法順序進行合併,然後將新詞彙放回詞彙池。它重複此過程直到只剩一個詞彙為止,這正是搜尋在已揭露運算集合下達到窮舉的原因。
- 由最內層括號向外讀取回傳的算式。括號具有意義:它們顯示運算的執行順序。移除括號會改變算式的意義,幾乎必定會破壞其正確性。
- 確認每個項目中每個數字僅使用一次。一個有效算式恰好包含你輸入的全部四個數字各一次,且結果恰好等於 24 —— 不是約等於 24、不是 23.99、也不是 24.000001。以分數為基礎的等號檢查保證了接近但不相等的結果絕不會被視為解答。
- 將「無結果」的結果視為最終裁決。若頁面回報無解,則窮舉搜尋已確認在你輸入的牌局下,依標準規則不存在任何有效建構式。一道允許冪次、階乘或串接的謎題是另一個問題,解題器刻意不會回答。
解題器強制執行的四條規則
本工具遵循一組嚴格的規則合約,源自 UC Santa Cruz MBAMP 數學計畫所記錄的通用 24 Game,並與 4nums 相互核對。第一,每個輸入數字在每個被接受的算式中必須恰好出現一次 —— 解題器不會串接數字、重複使用數字,或在建構式中省略任何一個。第二,僅允許四則基本運算 —— 加、減、乘、除 —— 加上用於控制順序的括號。第三,最終值必須恰好等於 24,因此引擎將每個中間結果以化簡分數形式儲存,並以分子 = 24 × 分母的方式檢查最終等號。第四,輸入範圍為 1 到 99,比限制為 1–13 的商業紙牌版本更寬廣。
某些謎題變體允許的運算 —— 例如將 1 和 2 串接為 12 的數字串接、冪次、階乘、插入小數點,以及作為獨立手段的一元負號 —— 皆被明確排除。這是有意的範圍選擇,並非缺失的功能。將本解題器作為課堂輔助工具的使用者,應在接受「無解」裁決為最終結論之前,先確認原始謎題採用相同的運算規則;一題在標準規則下看似無解的牌局,在本工具刻意忽略的更寬鬆規則下或許可解。
為何分數對 3、3、8、8 之類的牌局至關重要
有些牌局若無分數作為中間值便無法求解。經典例子是 3、3、8、8。只測試整數算術的玩家會判定此牌局無解。事實上 8 ÷ (3 − 8 ÷ 3) = 24 這個建構式成立,但前提是 8 ÷ 3 並非整數。更深入的說明見於分數數學的 24 Game 解法指南,其中以更詳盡的方式逐步解析相同方法論。
讓我們逐步檢視 8 ÷ (3 − 8 ÷ 3) = 24 這個解題範例。首先,計算內層除法:8 ÷ 3 = 8/3。其次,執行減法:3 − 8/3 = 9/3 − 8/3 = 1/3。第三,計算外層除法:8 ÷ 1/3 = 8 × 3 = 24。上述算術皆以化簡分數執行:8/3 已是最簡分數,1/3 的分子為 1、分母為正數 3,最終檢查為 8 × 3 = 24。任何步驟皆未涉及浮點數捨入。解題器採用相同的分數表示法,因此能回傳此精確建構式,而不是因二進位捨入誤差而漏掉它,或因結果並非恰好等於 24 而將其排除。
如何讀取回傳的算式
每個被接受的算式皆以完整形式輸出,後接 = 24。此格式存在有兩個原因。第一,它讓玩家能直接核對所提出的答案,而不必接受一則無從解讀的成功訊息。第二,它使括號清晰可見,而這點很重要,因為括號控制運算順序,不應隨意移除。若解題器回傳 8 ÷ (3 − 8 ÷ 3) = 24,則 (3 − 8 ÷ 3) 周圍的括號並非裝飾 —— 它們是建構式正確求值所必需的,省略它們會改變結果。
結果清單先依長度排序、再依地區排序,因此最短的建構式會出現在同一算術概念重新排列的等價形式之前。最多回傳 50 個算式。此上限能維持介面可讀性,避免一題具有多種等價形式的牌局以數百種排列淹沒頁面。只有少數不同建構式的牌局會回傳較少項目,無解的牌局則不會回傳任何項目。
此清單是一組有效建構式,而非宣稱每個數學等價類別僅含一個正則答案。依據加法與乘法交換律重新排序、或以代數等效方式重新編組括號的算式,仍可能出現在輸出中。若兩個算式看似不同但求值結果相同,則在 50 項上限內,它們會被視為兩個不同的有效答案。
用以驗證搜尋的基準牌局
有若干牌局作為驗證基準,因為每一題都能證明解題器的不同性質。下表列出本工具用來確認運算合約、分數處理與結果上限皆如預期運作的牌局。
| 牌局 | 結果 | 重要性 |
|---|---|---|
| 1, 2, 3, 4 | 可解 | 簡單乘積 1 × 2 × 3 × 4 = 24 確認基本乘法從頭到尾皆受檢查 |
| 3, 3, 8, 8 | 可解 | 需要 8 ÷ (3 − 8 ÷ 3) = 24,其中含有僅以整數檢查會錯過的分數中間值 |
| 1, 5, 5, 5 | 可解 | 需要 5 × (5 − 1 ÷ 5) = 24,含有另一個分數中間值 |
| 1, 5, 11, 13 | 無解 | 確認窮舉搜尋在基本規則下正確回傳空結果 |
這些基準並非隨意挑選。它們證明了:僅使用整數的算術會錯過可解的分數案例;不完整的搜尋會誤判 1、5、11、13 為可解;而以分數為基礎的等號檢查能在沒有捨入誤判的情況下接受恰好等於 24 的結果。一個獨立的、以分數為基礎的檢查工具能在不匯入生產實作的情況下重現相同的可解性分類,而這正是解題器所仰賴以建立信任的特性。
將解題器作為練習夥伴
在課堂或益智練習中,建議的工作流程為:先自行嘗試該牌局,再選擇 Solve,最後將你的建構式與回傳清單進行比較。若你的答案出現在清單中,表示你得到了一個正確的算式。若你的答案未出現但清單並非空集合,則你的建構式很可能違反了四條規則之一 —— 通常是某個數字被多用了,或缺少一對括號。若清單為空,則該牌局在基本規則下無解,而你正在進行的謎題必然使用了不同的運算集合。
所有處理皆在瀏覽器中執行。你輸入的四個數字與解題器產生的算式皆不會被上傳、儲存,或綁定任何帳號。本工具無需登入且無使用次數限制,因此同一工具既能應付單次快速查詢,也適用於反覆的課堂練習,無需任何設定。隱私與重複使用皆為設計的一部分,而非附加功能。解題器不會產生隨機謎題、為難度排名、教授保證最短的解法,也不會驗證玩家自行輸入的算式 —— 它只回答一個明確的問題,而一個定義清楚的問題,正是讓其答案在休閒練習與評分練習中皆值得信賴的原因。
如需更深入的探討,請參閱以邊長求立方體體積:一個輸入,四種答案。