本文主要是介绍算法——100瓶水,一瓶有毒,有一种试纸...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
100瓶水,一瓶有毒,有一种试纸,不过需要一个小时才能出结果,问最少需要几片试纸才能在一小时内找到有毒的那一瓶。
答案
7
算法
算法的思想就是把数字用二进制表示。
算法详细
首先我们需要准备七张试纸:
- 然后对瓶子的编号进行二进制排序
比如:一号瓶子是000 0001
;七号瓶子是000 0111
;100号瓶子则是110 0100
。 - 按编号把瓶子的液体滴到试纸上
比如:一号瓶是000 0001
,就把一号液体滴到1号试纸;7好瓶是000 0111
,把七号液体滴到1、2、3号试纸上。 - 静等试纸变色
如果是1、3、5、7号试纸均变色,那么对应的101 0101 = 85
号瓶就是有毒的。
算法的代码实现
- 先鸽一下(未完成)
参考文献
宋云飞.西安财经大学.2020.09.15
这篇关于算法——100瓶水,一瓶有毒,有一种试纸...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!