一道关于药的思维逻辑题:共有三类药分别重1g,2g,3g,放到若干个瓶子中.请把过程说的越详细越好,

一道关于药的思维逻辑题:共有三类药分别重1g,2g,3g,放到若干个瓶子中.请把过程说的越详细越好,
共有三类药,分别重1g,2g,3g,放到若干个瓶子中,现在能确定每个瓶子中只有其中一种药,且每瓶中的药片足够多,能只称一次就知道各个瓶子中都是盛的哪类药吗?
如果有4类药呢?5类呢?N类呢(N可数)?
如果是共有m个瓶子盛着n类药呢(m,n为正整数,药的质量各不相同但各种药的质量已知)?你能只称一次就知道每瓶的药是什么吗?
注:当然是有代价的,称过的药我们就不用了
水在飞6454 1年前 已收到1个回答 举报

潘趣酒 春芽

共回答了18个问题采纳率:94.4% 举报

先看最简单的情况共有三类药,分别重1g,2g,3g.
我们可以给瓶子编号分别为1号,2号和3号.
现在从1号瓶取出1片,2号瓶取出10片,3号瓶取出100片,上秤称,重量是一个三位数.
其中个位数字对应1号瓶药片重量,十位数字对应2号瓶药片重量,百位数字对应3号瓶药片重量.
问题解决.
同理,若共有四类药,分别重1g,2g,3g,4g.
我们可以给瓶子编号分别为1号,2号,3号和4号.
现在从1号瓶取出1片,2号瓶取出10片,3号瓶取出100片,4号瓶取出1000片上秤称,重量是一个四位数.
其中个位数字对应1号瓶药片重量,十位数字对应2号瓶药片重量,百位数字对应3号瓶药片重量,千位数字对应4号瓶药片重量.
问题解决.
问题是解决了,可太浪费药片了(虽然足够多),有没有更好的办法?有的.
再以三类药,分别重1g,2g,3g为例.
我们可以给瓶子编号分别为1号,2号和3号.
现在从1号瓶取出1片,2号瓶取出4片,3号瓶取出16片,上秤称,再把重量用四进制数表示.
则右起第一位数字对应1号瓶药片重量,右起第二位数字对应2号瓶药片重量,右起第三位数字对应3号瓶药片重量.
问题解决.
这是为什么?
十进制的1对应四进制的1,十进制的4对应四进制的10,十进制的16对应四进制的100
这与分别取1,10,100片最后用十进制的三位数表示没有本质的区别.
为什么用四进制?
这是因为药片的最大的重量为3,在四进制中不存在某一位向前进位的问题,这样使每一位数字都刚好对应某一瓶药片的重量.
同理,若共有四类药,分别重1g,2g,3g,4g.
我们可以给瓶子编号分别为1号,2号,3号和4号.
现在从1号瓶取出1片,2号瓶取出5片,3号瓶取出25片,4号瓶取出125片,上秤称,再把重量用五进制数表示,即可从右到左读出1至4号瓶内药片的重量.
通过上面的讨论,可得出此类问题的解法:
若共有N类药,分别放在N个瓶中,且最重药片重M,所有药片的重量均为正整数,
则我们可以给瓶子编号分别为1号至N号.
现从1号瓶取出1片,2号瓶取出(M+1)片,3号瓶取出(M+1)^2片,N号瓶取出(M+1)^(N-1)片,上秤称,再把重量用(M+1)进制数表示,即可从右到左读出1至N号瓶内药片的重量.
其实这样得出的结果,这个(M+1)进制数,每一位的数字均不同,因为每种药片的重量均不同.
但如果右起第一位与右起第二位的数字相同的话,说明1号瓶与2号瓶的药片重量相同,在本题的条件下,说明1号瓶与2号瓶装的是同一种药.
也就是说,以上的计算方法适合有同种药片装在不同药瓶的情况.
所以如果是共有m个瓶子盛着n类药,若m>n就是以上情况.(若m

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.031 s. - webmaster@yulucn.com