最近看到一个面试题目,觉得很有意思.就自己推导了下,不知道是否正确.

最近看到一个面试题目,觉得很有意思.就自己推导了下,不知道是否正确.
面试题目是:在1到1000的数字中,有一个数值是正确的.你可以任意猜测数值,我会告诉你是大了还是小了,问至少要猜多少次.
答案肯定是至少要猜1次.
现在新问题就是,理论最多要猜多少次,实际最多要猜多少次,平均要猜多少次?
我自己的推导方法和答案等有心人回答好了后,再放出.
兰笑生物1 1年前 已收到1个回答 举报

zhlys 春芽

共回答了20个问题采纳率:90% 举报

这个可以采用简单的“对分法”原理.
设实际数值是a,从1-1000中猜.
1、首先猜a=500,如果大了,证明1500
2、如果a

1年前 追问

4

兰笑生物1 举报

正确的算法。虽然数值没办法精确下来,但是已经比较接近了。 这个问题的解决方法我并不是用公式去套用,而是采用写程序的方法去统计计算。 目前程序计算了22550次,最小值1次,最大值33次,平均值为14(小数位误差为0.01)。很有意思,不知道一直算下去,最大值是否可以突破33次,超过50次。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 6.418 s. - webmaster@yulucn.com