1A2B猜數(shù)字游戲(bulls and cows)

參加了專欄活動(dòng),但是完全沒(méi)有頭緒。。。分享一個(gè)我坐車無(wú)聊時(shí)喜歡玩的游戲吧
鑒于我只是一個(gè)坐車無(wú)聊時(shí)候玩玩這個(gè)游戲的渣渣,本文可能有錯(cuò)誤,歡迎指正。
1. 起源
根據(jù)百度百科的說(shuō)法,這個(gè)游戲起源于英國(guó),叫作bulls and cows。
2. 玩法和舉例
人機(jī)游戲?yàn)槔到y(tǒng)事先準(zhǔn)備好一個(gè)數(shù)字
四位數(shù)字比較常見(jiàn),其他位數(shù)也可,以下用四位數(shù)字舉例
一般,每位數(shù)字從0到9中選取
每位數(shù)字互相不重復(fù),如1044、2323、7547都不可以,不過(guò)也有可以重復(fù)的版本,以下用互不重復(fù)的版本舉例
然后,玩家在知道是幾位數(shù)的情況下,開(kāi)始猜這個(gè)數(shù)字

那咱們猜個(gè)?1 2 3 4
系統(tǒng)會(huì)把玩家猜測(cè)的數(shù)字和正確答案作對(duì)比,給出提示
系統(tǒng):[0 A?0 B]
這是什么意思呢?幾A表示數(shù)字對(duì)、位置也對(duì)的有幾個(gè);幾B表示數(shù)字對(duì)、位置不對(duì)的有幾個(gè)。在例子中,[0 A?0 B]表示猜的?1?2?3?4 跟正確答案一毛錢也對(duì)不上,正確答案里沒(méi)有這四個(gè)數(shù)字。

咱們繼續(xù)猜 5 6 7 8
系統(tǒng):[0 A 2?B]
[0?A 2?B]說(shuō)明?5?6?7?8?里面有兩個(gè)數(shù)字是正確答案里的,但是位置不對(duì)。除此之外還可以知道,既然1到4里沒(méi)有,5到8里只有兩個(gè),那剩下兩個(gè)9和0必然是在正確答案里了。

猜?5 6 9 0
系統(tǒng):[1?A 2?B]
1 A?出現(xiàn)啦,說(shuō)明?5 6 9 0?里出現(xiàn)了一個(gè)在正確位置的數(shù)字。5和6的位置沒(méi)有動(dòng)過(guò),根據(jù)前面系統(tǒng)提示,它們倆不可能是那個(gè)在正確位置的數(shù)字,所以后面兩個(gè)9和0其中有一個(gè)才是在正確位置的數(shù)字!
已知9和0必然是在正確答案里。
那么9和0中,一個(gè)是數(shù)字對(duì)、位置對(duì),一個(gè)是數(shù)字對(duì)、位置不對(duì),它們倆提供了1個(gè)A和1個(gè)B。前面的5和6則提供另一個(gè)B,即5和6中只有一個(gè)數(shù)字在正確答案里,并且位置不對(duì)。根據(jù)前面系統(tǒng)提示,7和8中也只有一個(gè)數(shù)字在正確答案里。

猜?5 7?9 0
系統(tǒng):[1?A 2?B]
已知5和6中,只有一個(gè)在正確答案中;7和8中,只有一個(gè)在正確答案中。
只有兩個(gè)可能:一、5在正確答案中,那么6不在,用7替換6,可是系統(tǒng)提示沒(méi)有變,說(shuō)明7和6一樣都不在正確答案中。二、6在正確答案中,那么5不在,用7替換6,可是系統(tǒng)提示沒(méi)有變,說(shuō)明7和6一樣都在正確答案中。

猜?5 8?9 0
系統(tǒng):[1?A 1?B]
嗯?用8替換7后,少了一個(gè)B,說(shuō)明8不在正確答案中,而7在正確答案中,那么可知6也在正確答案中,而5不在。

猜 6?7?9 0
系統(tǒng):[2?A?2?B]
恭喜恭喜,這四個(gè)數(shù)就是正確答案里的那四個(gè)了,就是有兩個(gè)位置還不對(duì)。A的數(shù)量+1了,除了9和0里有一個(gè)位置對(duì)以外,6和7里也出了個(gè)位置對(duì)的呢。前面?5 7?9 0 的時(shí)候,A也沒(méi)見(jiàn)增加,說(shuō)明7不在第二位,7不是那個(gè)A增加的原因,那么6就是A增加的原因啦,我們知道了6的正確位置在第一位。

猜?6?0?9 7
系統(tǒng):[4?A?0?B]
猜了一下9和0里,9是那個(gè)位置對(duì)的數(shù)字,于是交換了0和7的位置。猜對(duì)啦,正確答案就是6097啦!

上面例子縮寫(xiě)版本,如下:
1?2?3?4?[0 A?0 B]
5 6 7 8?[0?A 2?B]
5 6 9 0?[1?A 2?B]
5 7?9 0?[1?A 2?B]
5 8?9 0?[1?A 1?B]
6?7?9 0?[2?A?2?B]
6?0?9?7?[4?A?0?B]
3. 碎碎念
這個(gè)游戲可以引出一些數(shù)學(xué)問(wèn)題的思考呢。比如采取什么策略可以在最倒霉的情況下嘗試的次數(shù)最少。比如采取什么策略可以讓所有情況的嘗試次數(shù)的平均數(shù)最少。數(shù)學(xué)渣渣的我表示看百度百科的解釋頭痛。。。沒(méi)懂抱歉(捂臉)
啊寫(xiě)作文好難啊,只是寫(xiě)一個(gè)小小科普就好難啊QAQ,也不知道講清楚了沒(méi)有, 大大們寫(xiě)得通俗易懂又有趣都好厲害。
鑒于我只是一個(gè)坐車無(wú)聊時(shí)候玩玩這個(gè)游戲的渣渣,本文可能有錯(cuò)誤,歡迎指正。
本文參考了百度百科里“猜數(shù)字”這個(gè)詞條。