这个问题怎么用java程序解决啊
我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小...
我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分
展开
6个回答
展开全部
答案是 15 这个用java好算
sum = 0;
n = 5;
while(n > 0){
sum += n;
n--;
}
原理:A B C D E 5个小白鼠
第一步,5个小白鼠各喝一瓶,如果死了是一个,哪个死了,说明那个是毒药。
第二步,AB 喝一个, BC 喝一个,以此类推,可以再喝4个,如果死了是两个,哪两个死了,说明那个是毒药
第三部,ABC 喝一个,BCD 喝一个,以此类推,可以喝3个,如果死了是三个,哪三个死了,说明那个是毒药
第四部,ABCD喝一个,BCDE喝一个,如果死了4个,哪4个死了,说明那个是毒药
第五步,ABCDE 都喝一个,如果都死了,说明这个是毒药。
总共下来,每个小白鼠喝了5口,根据死的数量和那个死了可以检测出15瓶
展开全部
假设每喝一次药间隔 5秒钟,计时器变量 int time=0; 5分钟就是300秒;
第一只老鼠(A)喝药:
第一次 0 + 5 = 5秒; 死亡时间:300+5=305
第二次 5 + 5 = 10; 死亡时间:300+10=310;
第三次 10 + 5 = 15; 死亡时间:300+15=315;
第四次 15 + 5 = 20; 死亡时间:300+20=320;
第五次 20 + 5 = 25;死亡时间:300+25=325;
依次类推。。。
每喝一次药就是一个瓶子,如果第七瓶是毒药的话,老鼠死亡的时间应该是 7*5+300=335,也就是五分钟后的第35秒,第八瓶是毒药的话,老鼠死亡时间是第五分钟后的第40秒。
如果每次喝药的间隔只有零点几秒,时间安排也非常精确的话,一只老鼠就能检测完所有的瓶子,只要计时老鼠实际死亡的时间就能找出哪一瓶是毒药。
第一只老鼠(A)喝药:
第一次 0 + 5 = 5秒; 死亡时间:300+5=305
第二次 5 + 5 = 10; 死亡时间:300+10=310;
第三次 10 + 5 = 15; 死亡时间:300+15=315;
第四次 15 + 5 = 20; 死亡时间:300+20=320;
第五次 20 + 5 = 25;死亡时间:300+25=325;
依次类推。。。
每喝一次药就是一个瓶子,如果第七瓶是毒药的话,老鼠死亡的时间应该是 7*5+300=335,也就是五分钟后的第35秒,第八瓶是毒药的话,老鼠死亡时间是第五分钟后的第40秒。
如果每次喝药的间隔只有零点几秒,时间安排也非常精确的话,一只老鼠就能检测完所有的瓶子,只要计时老鼠实际死亡的时间就能找出哪一瓶是毒药。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、字段:老鼠五只(1,2,3,4,5) 瓶子编号 1~n 时间
2、方法:循环分配给五只老鼠液体瓶五分钟后终止程序。
public static void main(String[] args) throws InterruptedException {
// 随机产生一个含毒药的瓶子
int mark = (int)(Math.random()*100);
int sum = 0;
// 定义一个时间
Date date = new Date();
for (int j = 0;;j++) {
for (int i = 0; i < 5; i++) {
Date d = new Date();
long sec = (d.getTime() - date.getTime())/60000; // 试验时间计时 单位:分钟
// 默认每次试验耗时10秒 若含毒药的药瓶已试验有两种情况终止试验 1、五分钟内老鼠死亡 2、时间到 综合试验时间可维持5分钟
if(j == mark && sec <= 5){
// 获取有毒药瓶的老鼠为
sum = ((5*60)/10)*5;
System.out.println("第"+j+"轮试验中"+i+"号老鼠饮用了带毒药瓶。共计试验药瓶"+sum+"只");
break;
}else if(sec == 5){
sum = ((5*60)/10)*5;
System.out.println("5分钟内未有老鼠因毒药死亡。共计试验药瓶"+sum+"只");
break;
}
Thread.sleep(10000); // 试验周期为10秒一次
}
if(sum != 0){
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为要看到结果(不是毒药)至少要5分钟。因此5只小白鼠5分钟可以检测5瓶液体。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
5瓶.每只喝一口,5分钟后没事再喝第二口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题用什么java啊,这明明就是个数学问题啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询