博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
阅读量:4515 次
发布时间:2019-06-08

本文共 746 字,大约阅读时间需要 2 分钟。

 

6.1 You have 20 bottles of pills. 19 bottles have 1.0 gram pills, but one has pills of weight 1.1 grams. Given a scale that provides an exact measurement, how would you find the heavy bottle? You can only use the scale once.

 

这道题是一道智力题,给我们20个瓶子,里面分别装满了药片,其中有19个瓶子都装了1克的药品,有一个瓶子装了1.1克的药片,我们有一个称,可以精确的称重,但是只允许用一次,让我们找出中的那个。

这题我没想出来,我开始纠结于整瓶称,其实这题可以取若干药品出来称。我们先从简单的开始想,如果只有两瓶,那我们随便从其中一瓶中取一粒出来一称就知道了,那如果有三瓶呢,我们怎么办呢。答案是从第一瓶中取一粒,第二瓶中取两粒,第三瓶中取三粒来称,总共取出了六粒,如果六粒都是一克的话,那么称出来是六克,但是有一瓶是每粒药片1.1克,那么如果第一瓶是较重那瓶,称出来以为6.1克,如果第二瓶较重,则为6.2克,同理若第三瓶较重,则为6.3克,那么这样我们就能根据结果来知道哪瓶较重了。

同理对于20瓶也是一样的,我们从第一瓶取一粒,第二瓶取两粒,第三瓶取三粒,以此类推,第二十瓶取二十粒,如果每瓶都一样重,那称出来应该是210克,那有一瓶中的每粒药片是1.1克,我们根据个数差产生的重量差来确定是哪瓶,计算公式为:(weight - 210) / 0.1

转载于:https://www.cnblogs.com/grandyang/p/4753743.html

你可能感兴趣的文章
netdom join 错误:指定的域不存在,或无法联系。
查看>>
Android中Dialog的使用
查看>>
Android Activity接收Service发送的广播
查看>>
[Leetcode] Spiral Matrix | 把一个2D matrix用螺旋方式打印
查看>>
加速和监控国际网络
查看>>
【Flex】读取本地XML,然后XML数据转成JSON数据
查看>>
字符串循环右移-c语言
查看>>
解决从pl/sql查看oracle的number(19)类型数据为科学计数法的有关问题
查看>>
古训《增广贤文》
查看>>
职场的真相——七句话
查看>>
xcode命令行编译时:codesign命令,抛出“User interaction is not allowed.”异常 的处理...
查看>>
[转载]开机出现A disk read error occurred错误
查看>>
STM32 C++编程 002 GPIO类
查看>>
无线冲方案 MCU vs SoC
查看>>
进程装载过程分析(execve系统调用分析)
查看>>
在windows 7中禁用media sense
查看>>
ELK-Elasticsearch安装
查看>>
Android 模拟器(Emulator)访问模拟器所在主机
查看>>
删除字符串中指定子串
查看>>
day40-socket编程
查看>>