题目为本人原创的(其实就是用了一样的原理,换汤不换药)
题目:
一共有1~100号的笼子,其中有两种笼子,一种是空笼子,一种是有蛇的笼子
笼子的摆放方式,有一种特点,假如说50号的笼子是蛇笼子,那么50号以下到1号就一定是空笼子,50号以上到100号就一定是蛇笼子
你手里有两只青蛙,如果投放到空笼子里,青蛙会快速的自己爬出来,如果投放到蛇笼子里,青蛙就会被吃掉,没有被吃掉的青蛙可以反复利用
如何用最效率的方法测出有多少空笼子呢
幻梦丷 直接丢到50号笼子,如果青蛙死了,那就从100号开始往前丢青蛙,如果青蛙没死,就再把青蛙丢到25号看看死没死,没死就继续对半丢,丢到12号,6号。。。以此类推直到出现青蛙死了,然后另一只就从上一个没死 ...
幻梦丷 的确限制了两个青蛙啊,假设青蛙为1和2号,先把1号丢进50号笼子,1号没死,那就把1号丢到75号笼子,还没死就丢到87号笼子,直到1号青蛙死了,然后如果1号青蛙死在了93号笼子,那就把2号青蛙从75号 ...
漆黑之王 那如果是从24号开始有蛇呢,你的方法从50号开始测,如果死了就要到25号,那么如果从24开始,就会被直接被消耗掉两只,且还不一定能测出来
幻梦丷 我说的是50号如果死了,就从1号开始
Roogle 问题逆推:要想测出空笼子必须保证每次投放时青蛙活着,要想最大效率必须保证投放青蛙次数最少@幻梦 给出的答案其实在日常生活中算是比较效率的一种解法了,它属于二分法,也是我们日常可用的比 ...
萌萌的creeper娘 蛇头笼可能是2-100号中的任意一个笼子。在我们用青蛙对其进行探测前,蛇头笼的位置一直处于未知状态——它可能位于99个笼子中的任意一个。假设把笼子的出口堵住,不让青蛙出来,又因为笼子处于既可能有蛇,又 ...
云淡风清 直接在1号和100号丢青蛙,不死的话,就一直往中间移,完美
云淡风清 啊,我懂你题意思了,我理解成是中间有一段是蛇的,两端是空的了,我要再想想
云淡风清 恭喜你成功误导我了。那就放在50号,死了就拿另一个从1号开始;不死就放到75号。如此循环
云淡风清 放弃算了
Silence 让第一只一直活下去直到试出笼子的期望, 等于第一只死掉后第二只从头开始试的期望。 未知笼子数×(1-x/未知笼子数)^x
Chardream 将笼子分为十组,从1开始测每组首笼,知道青蛙被吃了,在测试之前一组的每一个
萌萌的creeper娘 为什么?原理是什么