问题描述:有12枚硬币,其中有一枚是假币,但不知道是重还是轻,现给定一架没有砝码的天平,问至少需要几次称量才能找到假币?如何证明所求次数是最少次数?
解析:将硬币分为三堆,分别为A、B、C,每堆4个,将A堆和B堆放到天平上,将会出现三种情况:
1)平衡
2)A比B重
3)A比B轻
由于2)3)道理是相同的,于是只研究1)2)两种情况
1.若A B平衡,则假币必定在C堆中,对C堆中的硬币分别标记为甲乙丙丁,
将甲和乙放到天平两边,若平衡,说明甲乙是真币,丙丁中必有一枚假币,则再称量一次即可找到假币;若不平衡,则假币必在甲乙中,再称量一次即可找到假币
2.若A比B重,则假币必定在A、B中,C中必定都是真币,对A中的硬币标记为1、2、3、4,对B中的硬币标记为5、6、7、8;
将1 2 5放在天平左边,将3 4 甲放在天平右边
若125重,则假币必定在12中(5不可能是假币:若5是假币,说明假币重,则A堆应该比B堆轻,与前提矛盾,3、4也不可能是假币,若3、4中有假币,说明假币轻,与前提A比B重矛盾)
若125轻,同理可分析得知
若平衡,则假币在678中,且假币轻。
理论证明:每次天平称量无外乎三种情况,左倾、右倾、平衡,用3进制数表示为0 1 2;问题转化为:需要多少位编码能表示12?
由于12的轻重未知,则有24种情况,因此需要用3进制表示24,假设需要N位,则3^n>=24,得 n>=2.89 即为 3