前端面试题

题目:监狱里有10000瓶酒,根据可靠情报其中有一瓶被放了慢性毒药——(喝一口就会在24小时后身亡)两天后市长要用这一批酒招待中央的人,现在如何用最少的死刑犯试出那瓶毒酒。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var arrs = [];
var num1;
var num2;
//生成10000瓶酒
for (var i=0;i<10000;i++) {
var objs = {};
objs.jiu=false;
arrs.push(objs);
}
//投毒
var num = Math.round(Math.random()*10000);
console.log(num)
arrs[num].jiu=true;
//确定范围
for (var i = 0;i <arrs.length;i=i+100){
for (var j=i;j<i+100;j++){
if(arrs[j].jiu == true){
num1=i;
}
}
};
num2=num1;
//精确查找
for(num1;num1<num2+100;num1++){
if(arrs[num1].jiu == true){
alert(num1);
}
}