响彻云霄的意思 猜数字0~9

猜数字(0-9)每句一个_百度知道
猜数字(0-9)每句一个
两连环高独木桥拐弯
我有更好的答案
其他类似问题
为您推荐:
猜数字的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁字谜,注意:音,意,笔画,猜三个数字(猜数字0-9) “妻子难归”_百度知道
字谜,注意:音,意,笔画,猜三个数字(猜数字0-9) “妻子难归”
我有更好的答案
其他类似问题
为您推荐:
猜数字的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁脑筋急转弯猜数字0到9七返五顺一合三,八邻返二有伴随,二四装成一树高,三立零四八上来.以上三行个有一个数字请大家猜吧``_百度作业帮
脑筋急转弯猜数字0到9七返五顺一合三,八邻返二有伴随,二四装成一树高,三立零四八上来.以上三行个有一个数字请大家猜吧``
脑筋急转弯猜数字0到9七返五顺一合三,八邻返二有伴随,二四装成一树高,三立零四八上来.以上三行个有一个数字请大家猜吧``> 算法题(猜数字)先有0~9十个数字任意取4个进行排列(数字不重复)比如说1234然后让你猜假如你猜
算法题(猜数字)先有0~9十个数字任意取4个进行排列(数字不重复)比如说1234然后让你猜假如你猜
linjunsb & &
发布时间: & &
浏览:115 & &
回复:12 & &
悬赏:0.0希赛币
算法题(猜数字)先有0~9十个数字
任意取4个 & 进行排列(数字不重复)
比如说1234
然后让你猜 & 假如你猜
1253 & 提示 & 2正1反 & 1,2 & 数字正确处理位置也正确处理3 & 数字正确位置不正确
1256 & 提示 & 2正0反
直到你猜 & 1234 & 提示 & 4正0反 & 猜测结束 & 游戏重新开始
--------------
以上应该很简单 & 现在要求 & 人来想不重复的4位数 & 让电脑猜 & 然后根据电脑猜测的结果 & 给电脑相应 & N正M反 & 的提示 & 直到电脑 & 猜出答案
当然 & 猜测的次数有限制 &
& 一般情况为7次以内. &
请写一个最优猜测算法
既然要最优,那先讨论下如果是人来猜,怎么最快猜出吧。
linkai3347 & &
& & (0)(0)第一次猜肯定是0123
if m正n反,保持m个数字位置不变,调动其他数字位置,求解,递归,if m=0 and n=0,取其他数字
linkai655418 & &
& & (0)(0)这个游戏我玩过,挺好玩的
-----------------------------------
俺兜兜里有糖
linkaun & &
& & (0)(0)详细点说:
1.if m=0 and n=0,取其他数字
2.if m正n反,保持m个数字位置不变,调动其他数字位置,求解,递归,直到求出m+n正,即j正0反,取出剩下数字中的4-j个,放入非正的位置(这个好像有点复杂)
3.(调动非正位置数字),求解,递归,直到j=4为止。
linkai1208 & &
& & (0)(0)这个有点象破解密码。呵呵。
linkai655418 & &
& & (0)(0).
linkai655418 & &
& & (0)(0)那你就按照你猜的思路去写代码咯。。
linkai5696 & &
& & (0)(0)最开始想的时候不要直接想从十个中选四个,要想从四个中选两个,五个中选两之类的,就是先从少的想起
linkama & &
& & (0)(0)像四个中先两个,开始猜12,如果有正确的最好,再看有没有反的
如果有正确的或反的,就可以确定一个,这就成了三先一
如果两者都没有,就猜34,这肯定会有一个正确的或者是反的,就可以得到一个数正确了,下面就是从三个中选一个了,
linkaun & &
& & (0)(0)Mark一下,研究中...
linkai1208 & &
& & (0)(0)好难
linkai3347 & &
& & (0)(0)若upperbound()表示上取整,
lowerbound()表示下取整;
则从n个数之中随机选择m个进行猜测
用如下算法可保证最坏
lowerbound(n/m) + upperbound( (lowerbound(n/m) + lowerbound(m/2)) / 2 )
+ m - (n - m * lowerbound( n/m ) ) - 1
次即可成功。
当 n = 10 ,m = 4 时,代入上式,
2 + 2 * 4 + 4 - (10 - 4 * 2) - 1 = 11
每种猜测情况都是等可能的则平均猜测数为:
(1+11)/2 = 6;
因此,楼主题目得解.
(为避免因为编程语言造成理解障碍用中文描述,我用c++编码测试过。)
方法如下:
零,特殊情况的处理:
& 则退出程序。
若 n = 则输出n为结果,退出程序。
一,初始化阶段:
1 建立一个大小为n的表(以下简称为T1,最简单用数组表示),
每一表项有如下属性(1) belong (有4个状态:YES,RELEVANT,NO,UNKNOW(初始态))
(2) relevant (记录与某数相关)
(3) 一个数组position
(为一大小为m的3状态(TRUE,FALSE,RELEVANT)数组,
初始状态为每一项都是TRUE,
表示所有位置都有可能)
因为每一表项的index与n个数一一对应,
所以可以由以上属性和index确定哪个数为选定的数,并确定是否在正确位置上;
2 建立一个队列(以下简称为Q),把T的index以随机方式入队;
3 建立lowerbound(n/m)个大小为m的数组
(对于每一个数组简称为M[n] 0 &= n
& lowerbound(n/m) (在C/C++ 中数组从0开始)
,用来存放从Q中出队的index);
4 建立一个大小为lowerbound(n/m)的数组
(以下简称为GUESS[n],0 &= n
& lowerbound(n/m)用来与M[n]对应),
数组的每一项由如下属性:(1)ALLRIGHT (2)POSITIONERROR
5 建立一个大小为lowerbound(n/m)的int数组(以下简称为isrepresentative[n],
& lowerbound(n/m))
初始值为-1,用来与M[n]对应,表示没有成为代表;
6 建立一个大小为lowerbound(n/m)的bool数组(以下简称为empty[n],0 &= n
& lowerbound(n/m)
用来与M[n]对应,表示是否为空)初始值为
7 建立一个队列(以下简称为Q2,用于存放配对后形成的代表。)
1 用Q中的index数据分别填满设置为空的M[n],linkai612 & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&增值电信业务经营许可证湘B2-大个大姐姐看到这题帮忙解下“英年早逝”猜数字0-9当中 三个数字,小弟先谢了!~~带解释~~~谢谢啦~~~~~~_百度作业帮
大个大姐姐看到这题帮忙解下“英年早逝”猜数字0-9当中 三个数字,小弟先谢了!~~带解释~~~谢谢啦~~~~~~
大个大姐姐看到这题帮忙解下“英年早逝”猜数字0-9当中 三个数字,小弟先谢了!~~带解释~~~谢谢啦~~~~~~
478 (死去吧)}

我要回帖

更多关于 用响彻云霄造句 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信