猜数字是一种益智游戏,游戏人数为两人,或一人与一个运算机器。
一个人设定一组四码的数字作为谜底,另一方猜。每猜一个数,出数者就要根据这个数字给出提示,提示以XAYB形式呈现,直到猜中为止。其中X表示位置正确的数的个数,而Y表示数字正确而位置不对的数的个数。
例如,当谜底为8123,而猜谜者猜1052时,出题者必须提示0A2B。
例如,当谜底为5637,而猜谜者猜4931时,出题者必须提示1A0B。
有一种使用范围比较狭窄的猜数字,是允许重复数字存在的猜数字,但由于其规则较复杂,故没有得到广泛的推广。其规则如下:
除了上面的规则外,如果有出现重复的数字,则重复的数字每个也只能算一次,且以最优的结果为准,
如正确答案为5543,猜的人猜5255,则在这里不能认为猜测的第一个5对正确答案第二个,根据最优结果为准的原理和每个数字只能有一次的规则,两个比较后应该为1A1B,第一个5位置正确,记为1A;猜测数字中的第三个5或第四个5和答案的第二个5匹配,只能记为1B。当然,如果有猜5267中的第一个5不能与答案中的第二个5匹配,因此只能记作1A0B。
对于第一种玩法而言,有以下的解法:
通常采用的计算机解是通过排除法,即遍历所有可能的数,将不符合要求的数剃掉。
下面是一个计算机处理的例子:
for (int i = 0; i Array.Count; i++) { if (请求提示(Array) == 全A) return Array;}
热门信息
阅读 (154)
1 如何红喜事选日子,这些方法非常重要阅读 (142)
2 鼠年生人运势怎么样好不好呀女孩 鼠年生人运势怎么样好不好呀女阅读 (131)
3 2024年属狗人的运势 可能财运并不理想阅读 (130)
4 微诗词文学社201112期《原创精选》诗词作品阅读 (115)
5 八字免费测算,解开你命运的谜团!