說明 | 估數字遊戲
此條目介紹的是和數字位置有關的益智遊戲。關於根據猜測數字太大或太小而進行的益智遊戲,請見「終極密碼」。猜數字4digits的運行畫面玩家數目2人複雜程度低所需技巧分析1A2B或稱猜數字是一種益智遊戲,遊戲人數為兩人,或一人與一個運算機器。一個人設定一組四碼的數字作為謎底,另一方猜。每猜一個數,出數者就要根據這個數字給出提示,提示以XAYB形式呈現,直到猜中為止。其中X表示位置正確的數的個數,而Y表示數字正確而位置不對的數的個數。例如,當謎底為8123,而猜謎者猜1052時,出題者必須提示0A2B。例如,當謎底為5637,而...
此條目介紹的是和數字位置有關的益智遊戲。關於根據猜測數字太大或太小而進行的益智遊戲,請見「終極密碼」。 猜數字4digits的運行畫面
玩家數目2人複雜程度低所需技巧分析1A2B或稱猜數字是一種益智遊戲,遊戲人數為兩人,或一人與一個運算機器。
一個人設定一組四碼的數字作為謎底,另一方猜。每猜一個數,出數者就要根據這個數字給出提示,提示以XAYB形式呈現,直到猜中為止。其中X表示位置正確的數的個數,而Y表示數字正確而位置不對的數的個數。
例如,當謎底為8123,而猜謎者猜1052時,出題者必須提示0A2B。
例如,當謎底為5637,而猜謎者猜4931時,出題者必須提示1A0B。
含重複數字的猜數字[編輯]有一種使用範圍比較狹窄的猜數字,是允許重複數字存在的猜數字,但由於其規則較複雜,故沒有得到廣泛的推廣。其規則如下:
除了上面的規則外,如果有出現重複的數字,則重複的數字每個也只能算一次,且以最優的結果為準,
如正確答案為5543,猜的人猜5255,則在這裡不能認為猜測的第一個5對正確答案第二個,根據最優結果為準的原理和每個數字只能有一次的規則,兩個比較後應該為1A1B,第一個5位置正確,記為1A;猜測數字中的第三個5或第四個5和答案的第二個5匹配,只能記為1B。當然,如果有猜5267中的第一個5不能與答案中的第二個5匹配,因此只能記作1A0B。
對於第一種玩法而言,有以下的解法:
計算機解[編輯]通常採用的計算機解是通過排除法,即遍歷所有可能的數,將不符合要求的數剃掉。[1]
下面是一個計算機處理的例子:
for (int i = 0; i < Array.Count; i++) { if (请求提示(Array[i]) == 全A) return Array[i]; }這個代碼採用C#的語法,其中Array表示所有可能的數字的集合。這個例子為了方便說明,結合了語言的描述。
這樣的方法充分利用了計算機計算速度快的優勢,使用窮舉法,並不進行推理。數字越長猜測時間越長。
推理解[編輯]計算機解是根據這種方法推廣的。這種解法的中心思...