经典软件面试题(1)

简介: 1000瓶酒中只有1瓶毒酒,给你10只老鼠,每只老鼠只能喝一次,如何检测出这瓶毒酒? 知识点:二进制。 解题思路:此题考察的是二进制。2的10次方等于1024,1024以内的所有自然数都可以用10个数位的二进制数表示出来。

1000瓶酒中只有1瓶毒酒,给你10只老鼠,每只老鼠只能喝一次,如何检测出这瓶毒酒?

知识点:二进制。

解题思路:此题考察的是二进制。2的10次方等于1024,1024以内的所有自然数都可以用10个数位的二进制数表示出来。1000小于1024,此题可解。

将1000瓶酒从1到1000分别进行编号,并转化成10个数位的二进制数表示。

编号

转化成二进制

1

0000000001

2

0000000010

3

0000000011

4

0000000100

999

1111100111

1000

1111101000

  从每瓶酒中取出若干滴,取几滴由10个数位上1的个数决定,每滴放入10个大碗对应的碗中(为了描述的方便,假设有10个大碗,并从1到10进行编号)。最后,让10只老鼠分别喝10个碗中的酒。被毒死的老鼠用1表示,没有被毒死的老鼠用0表示,这样就构成了一个10个数位的二进制数,这个二进制数转换成10进制数,就是酒瓶的编号,此编号的这瓶酒就是毒酒。

第2种作法:

前500瓶,每瓶取一点,放在一起,给第1只老鼠喝,老鼠死了,就是前500瓶,如果没死,就在后500瓶,即第1只老鼠可以将范围缩小一半到500瓶。

500瓶的一半250瓶,每瓶取一点,放在一起,给第2只老鼠喝,老鼠死了,就是所取的250瓶,如果没死,就在另外250瓶,即第2只老鼠可以将范围再缩小一半到250瓶。

第3只老鼠,将范围再缩小到125瓶。

第4只老鼠,将范围再缩小到63瓶。

第5只老鼠,将范围再缩小到32瓶。

第6只老鼠,将范围再缩小到16瓶。

第7只老鼠,将范围再缩小到8瓶。

第8只老鼠,将范围再缩小到4瓶。

第9只老鼠,将范围再缩小到2瓶。

第10只老鼠,将范围再缩小到1瓶。


目录
相关文章
|
8月前
|
SQL 分布式计算 前端开发
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
|
8月前
|
消息中间件 前端开发 Java
java面试刷题软件kafka和mq的区别面试
java面试刷题软件kafka和mq的区别面试
每日一道面试题之软件体系结构的核心要素有哪些?各起什么作用?
每日一道面试题之软件体系结构的核心要素有哪些?各起什么作用?
105 0
|
测试技术
软件测试面试题:复杂的软件缺陷生命周期?
软件测试面试题:复杂的软件缺陷生命周期?
88 0
|
测试技术
软件测试面试题:软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
软件测试面试题:软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
352 0
|
测试技术
软件测试面试题:试述软件的概念和特点?软件复用的含义?构件包括哪些?
软件测试面试题:试述软件的概念和特点?软件复用的含义?构件包括哪些?
115 0
|
监控 测试技术
软件测试面试题:软件配置管理工作开展的情况和认识?
软件测试面试题:软件配置管理工作开展的情况和认识?
106 0
|
测试技术
软件测试面试题:软件生存周期及其模型是什么?
软件测试面试题:软件生存周期及其模型是什么?
156 0
|
测试技术
软件测试面试题:什么是软件质量?
软件测试面试题:什么是软件质量?
161 0
|
测试技术 开发者
软件测试面试题:软件配置管理的作用?软件配置包括什么?
软件测试面试题:软件配置管理的作用?软件配置包括什么?
198 0

热门文章

最新文章