阿里云笔试题

有1000瓶药水,10只老鼠,中间有一瓶是毒药,老鼠喝了毒药后,一星期内会死亡,现在需要在一星期内找出其中的毒药。


解决方案:将10瓶药分别编号:0,1,2,3,4,5,6,7,8,9,老鼠编号1,2,3,4,5,6...1000

#1:1*1 + 2*0 + 4*0 + ...(0号老鼠服用)

#2:1*0 + 2*1 + 4*0 + ...(1号老鼠服用)

#3:1*1 + 2*1 + 4*0 + ...(0号和1号老鼠服用)

.

.

.

以此类推,最后一星期后,死亡老鼠的编号为n1 n2 n3...

则有ID = 2**n1 + 2**n2 + 2**n3...的瓶子有毒

阅读更多
文章标签: n2
个人分类: 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭