求猜不重复四位数的算法给你0到9个数字,每次猜不重复的四个数字(首位不为0),我会告诉你你猜的数字和答案的关系.例如猜1

求猜不重复四位数的算法
给你0到9个数字,每次猜不重复的四个数字(首位不为0),我会告诉你你猜的数字和答案的关系.例如猜1234,答案是3564.我会告诉你1A1B,1A代表有一个数字位置数字都猜对,1B代表有一个数字猜对但位置不对.给你七次机会,谁有相关的算法或推理步骤,谢谢!
半进化女孩 1年前 已收到2个回答 举报

keai279 幼苗

共回答了22个问题采纳率:86.4% 举报

(1)先确定数字:以你给出的数字为例,报1234,提示1A1B,再报5678,提示0A2B(第二次报数,切记不要重复第一次报过的数字)一般情况下2次就可以确定是哪四个数字,排除剩下的2个数字,万一你报的数字是0A1B类型的,例如5780,也不要紧,这样说明69里面必有一个.
(2)假设试探:假设第一次报对了1的位置和3这个数字,第2次报对的数字是76,这四个数字可能是1376、1763、1673等,从这些数字里随便报一个(注意不要报XX3X这样的数字),例如1376,提示0A2B,说明1的位置不对.再用13和58来配一次,报数5831(有几个选择的数字,可以从上面排除的条件外随便报)提示0A2B,说明1和3,7和6,5和8,不同时存在,5和7,5和6,6和8,7和8 里面有一组数字是同时存在的.
(3)假设配对数字:有1没3,配5和7,随便报一组5217提示0A1B,说明12不存在,34有,并且4 的位置是对的,3在第一位,5和7 有一个,可以报3564或3654,很快就知道答案了.
这类游戏切记报数不要重复,利用位置关系,牢记排除的条件.在几次报数的过程中会有多种不同的数字可以报,运气好不用7次也可以知道答案.

1年前

8

hnzh80 幼苗

共回答了141个问题 举报

这是一个游戏,我做过,可以猜出来的
但是每一题有每一题的特点,不容易说清楚
我只能说大体的思路
第一次只能任意说出四个数,得到提示后,按提示进行
去掉几个数,再填上几个数,把第一次余下的数的位置也进行调整,
第二次得到到提示后,也再重复以上的方法,一般七次以内可以猜出,也有可能你在选取过程中方法有问题,那么就猜不出来了.
只能说这些,你做几次这个游戏...

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.035 s. - webmaster@yulucn.com