「Crack the Code」每日謎題要求你從兩列精簡的提示列中推導出單一組三位數代碼,提示會分別回報「位置正確」與「位置錯誤」的匹配數量,而唯一有效的解答就是 507。每一列提示都帶有兩個數字,一個代表「精確匹配」(正確的數字在正確的位置),另一個代表「位置錯誤」(正確的數字但位置不對),因此這個謎題獎勵的是仔細閱讀而非盲目猜測。前導零會被視為一般數字,搜尋空間涵蓋從 000 到 999 的每一組代碼,而答案已獨立驗證為唯一。找出這組唯一代碼的獎勵恰好是 1,000 點,沒有速度加成,也不會因為先前猜錯而扣分。由於該固定題組是有限的,且完全在瀏覽器中執行,相同的提示列與相同的答案在頁面載入後依然可用,這使得這個謎題自然適合當作簡短的每日腦力練習。

兩列提示如何編碼出解答
兩列提示驅動了整個推導過程。第一列將 527 與答案進行比對,並回報 2 個精確匹配、0 個位置錯誤。第二列將 750 進行比對,並回報 0 個精確匹配、3 個位置錯誤。兩者結合起來能同時鎖定三個事實:數字 7、5 和 0 都出現在代碼中的某個位置、第一列中未匹配的 5、2 或 7 都沒有落在它們被猜測的位置上,以及一旦填入兩個精確位置後,每個數字的擺放位置就確定了。
第一列提示的計分演算(527 對 507):在位置一,5 對上 5(精確);在位置二,2 與 0 不同,且 2 不存在於答案中(既非精確,也不存在);在位置三,7 對上 7(精確)。未匹配的答案數字為 {0},未匹配的猜測數字為 {},因此「位置錯誤」總計為 0。
第二列提示的計分演算(750 對 507):在位置一,7 與 5 不同;在位置二,5 與 0 不同;在位置三,0 與 7 不同。沒有任何位置是精確的。移除精確匹配後,剩下的答案數字為 {5, 0, 7},剩下的猜測數字為 {7, 5, 0}。兩個集合中每個數字的出現次數皆為 1,因此 7 的逐數字最小值為 1、5 為 1、0 為 1,總計為 3 個位置錯誤。
解開 Crack the Code 每日謎題
從提示到正確代碼的路徑只需要幾個步驟。頁面會顯示三個空位、一個十位數鍵盤,以及頂部的兩列提示,剩下的就只是機械化的操作。一段簡短且有條理的流程通常能在幾分鐘內達到 1,000 點的終點。
- 閱讀兩列提示,並註記哪些計數不為零。
- 辨識必須存在的數字:根據提示 750 的三個位置錯誤匹配,數字 7、5 和 0 都屬於這組代碼。
- 利用提示 527 的兩個精確位置,將數字 5 和 7 放進正確的位置;以 507 來說,位置一為 5,位置三為 7。
- 將剩下的數字 0 放進唯一開放的空位,即位置二。
- 透過點擊鍵盤或在鍵盤上按下 5、0、7 來輸入 507;三個空位會由左至右填入。
- 透過點擊 Submit 按鈕或按下 Enter 來提交;分數應會恰好跳至 1,000。
- 若你的猜測錯誤,可使用 Backspace 或 Delete 編輯輸入,或點擊 Clear guess 將其清空,然後嘗試其他候選答案。
- 若再次提交相同的錯誤代碼,則不會新增歷史紀錄,也不會消耗第二次錯誤額度。
- 隨時可按下 Reset run 來還原原始提示、清空歷史紀錄,並將分數歸零。
從開啟頁面到拿到 1,000 點的完整路徑很短,因為計分器只需要驗證多重集合規則,這項規則將在接下來說明。
依玩家動作產生的分數結果
謎題會記錄嘗試次數,並在兩個終局事件發生時凍結該回合。下表摘要了玩家對頁面內狀態可採取的每一個動作。
| 玩家動作 | 對嘗試紀錄的影響 | 對分數或回饋的影響 |
|---|---|---|
| 提交不完整(0、1 或 2 個數字) | 不會被記錄為一次嘗試 | 狀態文字會顯示剩餘空位;分數不變 |
| 再次提交相同的錯誤代碼 | 不會新增紀錄;回傳相同的狀態參考 | 不會消耗第二次錯誤額度;回饋不變 |
| 第一次提交不同的錯誤完整代碼 | 記錄一次;仍可修復 | 列出不同的代碼;回合繼續 |
| 第二次提交不同的錯誤完整代碼 | 回合進入死鎖 | 揭露唯一答案;所有輸入凍結 |
| 提交正確代碼 507 | 記錄為最終紀錄 | 恰好獲得 1,000 點;分數與輸入凍結 |
死鎖與完成都是終局狀態,這就是為什麼頁面除了共用的 Restart 控制項之外,還另外提供一個 Reset run 控制項。
為何多重集合計算決定了「位置錯誤」的計數
「位置錯誤」的總計是依據每個未匹配數字來計算,而非依據每個空位。計分器會先移除所有精確配對,接著比較未匹配答案與猜測數字的出現次數。這個順序能防止重複出現的猜測數字重複佔用同一個答案位置,進而膨脹總計。
以猜測 500 對答案 507 為例。在位置一,5 對上 5(精確)。在位置二,0 對上 0(精確)。在位置三,0 與 7 不同,且這個 0 已無法再貢獻計數,因為答案中唯一的 0 已經被位置二的精確配對所使用。移除精確配對後,剩下的答案數字為 {7},剩下的猜測數字為 {0}。0 的出現次數最小值為 min(0, 1) = 0,因此「位置錯誤」總計為 0。若計分器將猜測中的兩個 0 視為都對上剩下的單一 7,計數就會變成 2 而非 0,這明顯是膨脹的結果。
這也是發布測試在 000 到 999 的每個候選答案上套用的相同邏輯,用以將解答鎖定為 507。若想更深入了解重複數字在類似推導遊戲中如何與此規則互動,請參閱數字推導遊戲中重複數字的計分方式。
為何 1,000 點是固定的,而非變動的
找出唯一代碼的獎勵恰好是 1,000 點,這是刻意的設計。沒有速度加成、沒有提示倍率、沒有部分得分,也不會因為第一次嘗試的是哪個錯誤代碼而扣分。在第一次嘗試就輸入正確解答,與在一次不同的錯誤猜測之後才輸入正確解答,兩者獲得的分數完全相同。
產品合約將分數視為娛樂行為,而非推理能力的衡量。原始固定題組是固定的,有限的錯誤規則已公開揭露,而唯一解答已透過窮舉驗證,因此分數刻意設計得簡單。想要固定每日目標的玩家,可以直接圍繞 1,000 點來規劃,而無需追蹤時間、第二次錯誤代碼之後的嘗試次數,或是猜測的順序。
控制項、離線遊玩與 Boss Mode
輸入在觸控與鍵盤之間是對稱的。點擊十位數鍵盤上的數字會由左至右依序附加,直到填滿三個位置。按下實體鍵盤的 0 到 9 鍵效果相同。Backspace 或 Delete 會移除最後輸入的數字,Enter 則會提交目前的輸入。Clear guess 只會清空目前的輸入,不會動到嘗試紀錄與分數,而 Reset run 則會還原整個遊戲,包括嘗試紀錄與終局狀態。
非數字的程式化輸入與第四位數字會在進入任何嘗試紀錄之前,於邏輯邊界被拒絕;而可見的控制項也會在提交前預先防堵這兩種情況。重複的鍵盤事件會在使用者介面層被忽略,而狀態層級的去重複機制則為重複的完整猜測提供第二層防護。共用的雙擊 Escape 啟動的 Boss Mode 會暫時將謎題替換為中性的試算表畫面,而離開 Boss Mode 時,相同的代碼、錯誤紀錄、分數與終局狀態都會保留下來。
所有功能皆在瀏覽器中本地執行。沒有任何代碼猜測、提示互動、分數或鍵盤事件會被上傳,也沒有使用帳號、付費服務、網路請求、隨機產生器或新的執行階段相依。由於完整的固定題組已封裝且為有限集合,相同的提示列與唯一答案在頁面載入後於離線狀態依然可用。介面無需依賴色彩也能使用:提示以文字標示其計數、空位顯示數字或底線、不同的錯誤代碼會被列出,且狀態文字會同時顯示已使用的錯誤次數與已輸入的數字。所有鍵盤按鈕皆具備原生語意,且至少具有觸控友善的最小高度;五個欄位在 390 像素的視窗寬度下也能舒適排入,且不會造成頁面溢出。
將其納入每日謎題習慣
固定的題組正是讓 Crack the Code 每日謎題得以作為一項可重複例行活動的關鍵。提示組不會輪換,答案也不會改變,且搜尋空間小到可以用手動方式驗證,因此一個簡短的小遊戲可以成為每日腦力練習中固定的檢查點。
一個實用的例行流程看起來像這樣:開啟頁面、大聲朗讀兩列提示、辨識出三個存在的數字、將 527 的兩個精確數字放進第一與第三位置、將剩下的數字放進第二位置、提交 507,並確認分數顯示為 1,000。想要讓推導過程保持新鮮感的玩家,可以從心智上隱藏答案,僅依據多重集合規則進行推演。Reset run 可在不重新載入頁面的情況下,為下一輪遊戲重新建立乾淨的狀態,這讓忙碌的日子裡也得以維持這個習慣。
若你正在權衡各種選項,在 5x5 方格中值得贏得的填字遊戲益處對此有詳細說明。