当前位置:首页 » 操作系统 » 药剂算法

药剂算法

发布时间: 2025-01-03 11:14:15

① 逻辑算法题(不断更新)

问:有1000瓶药剂和10只老鼠,药剂中有1瓶毒药,喝了一周内死亡(有的题目改成了五分钟,五分钟真亏他能喂完),如何在仿早一周内找到这瓶毒药。
答:将这1000瓶药剂编号0~999,并转换为二进制 就是0000000001~1111101000,从右向左开始,让第一只老鼠喝所有右起第一位编号为1的药剂,第二只老鼠喝所有右起第二位编号为1的药剂,依次类推,10只老鼠喝完10位的药剂,一周后,如果第一只老鼠死亡,那么毒药的从右起第一位为1,未死亡的话就为0,所以根据死亡状态就可以知道该瓶毒药的二进制。
例如状态是:死亡,存活,死亡,存活,存活,存活,死亡,存活,死亡,存活 = 010111010=186
从上面例银瞎子就可以知道第二种和第三种问题的解法了吧

测试时间提升为两周就说明第一周测试不死的老鼠可以拿来继续第二周的测试 ,所以老鼠的状态就变成了三种:存活(未实验),死亡,实验后存活。
将全部药剂编号后转为三进制数,老鼠右起依次喝0编号的药剂,如果死亡,那么该位编号为0,锋大空如果未死亡,那么可能为1和2,第二周把存活的老鼠继续喝该位1编号的药剂,如果死亡就为1,存活就为2,这样就找到了毒药的三进制编号,然后转换成下标即可。

总结:有 n 只小白鼠 m周的时间可以从 (m+1)^n 个瓶子中检验出毒药来。

热点内容
小米wifi存储 发布:2025-04-26 19:28:06 浏览:585
园方编程 发布:2025-04-26 18:54:57 浏览:978
cmd怎么看tomcat配置 发布:2025-04-26 18:34:51 浏览:296
怎么找回微信密码手机号换了 发布:2025-04-26 18:34:07 浏览:240
分区加密了 发布:2025-04-26 18:29:42 浏览:552
如何将两个c一起编译 发布:2025-04-26 18:28:50 浏览:222
android折叠代码 发布:2025-04-26 18:28:50 浏览:254
html5多图上传 发布:2025-04-26 18:27:16 浏览:216
安瑞科蚌端口压缩机 发布:2025-04-26 18:25:06 浏览:693
数据库锁引 发布:2025-04-26 18:14:05 浏览:897