猜取数字的问题,高手指导。
假如有一个数是1-10000之间,是未知数,当你猜测的时候只能说是大了或者小了,只有在猜测对了以后会提示正确,如何用一个程序将这个数快速的找出来,请高手指导。 我有些不太明白您的需求!我就按我理解的说,是不是说判断是否相等呢?如果是这样的话那就直接用一个等号进行判断就可以了,然后就有输出是真是假! 不是这样的,假如说一个数字是580,但是这个是未知的,当你发出一个数时,会反馈一个比较事大还是小,就好像一个游戏,主持人知道那个数是什么,猜的人不知道,你报一个数的时候,主持人告诉你是大了还是小了,直到你猜到为止,我想用对折法,就是每次用所在区域的一半去比较,一直到是那个数为止 我只有这个思路,不知道有没有谁能有巧妙的方法实现,因为这个数是未知的,只能比较大小的方式找出来,不能直接用等号 用减法确实可以吧 减法要减到什么时候啊 实质上问一个算法的问题,给定一个值,但你是对此未知,而在可能空间中所有值都是一样概率的取值,我想,应该可以用概率论的方法证明出,折半猜测是最快的 是这样的,如何做成LV程序呢 冒泡法,取中间值,看大小在确定 有没有哪位大哥提供VI例子可以参考一下啊,谢谢了 最多循环16次就可以了,也就是折叠16次,就是不知道怎么下手 我做了一个VI例子,感觉效果不好,会有1-2的差值要是搜索的次数较少的话,有没有能在循环16次以内能比较精确的? 本帖最后由 kkk123747 于 2010-5-31 09:39 编辑我自己做了一个,二进制搜索法,也放上来吧!
页:
[1]