当前位置: 代码迷 >> 数据结构与算法 >> 找4位数组合有关问题
  详细解决方案

找4位数组合有关问题

热度:447   发布时间:2016-05-23 09:14:20.0
找4位数组合问题
已从1-9中选任意4位数排列,该4位数不存在重复的数字,用程序运算此4位数,每给出一次结果,会有反馈2个信息,第1个是有几个数字在当前结果中并且位置正确,第2个是有几个数字在当前结果中但位置错误。求一算法用尽量少的次数算出正确结果。
请各位帮忙啊,分不够再加

------解决方案--------------------

http://www.ppqq.info/html/data/2006/10/35229.html
------解决方案--------------------
从1-9中选任意4位数排列,该4位数不存在重复的数字
则一共有 P(9,4) = 9 * 8 * 7 * 6 = 3024 种可能
从中任选一个数字, 如: 1234, 然后根据结果, 与可能的数字进行比较, 滤除不符合关系的
则从剩下的可能中任选一数值, 重复以上过程, 直至结果正确为止

如果是完全随机的话, 没有更好的方法次数尽可能少
以前我做过 0-9选4位数字的情况, 最差情况下需要7次猜中结果
平均大概是 5.x 次
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Sat Sep 23 09:56:01 CST 2017
  • 最近登录:Sat Sep 23 09:56:01 CST 2017
  • 最近登录:Sat Sep 23 09:56:01 CST 2017
  • 最近登录:Sat Sep 23 09:56:01 CST 2017
  • 最近登录:Sat Sep 23 09:56:01 CST 2017