如果afgh重,说明答案在fgh中。称量fg,如果相等,答案为h;如果不等,重者为答案。
如果一样重,答案在bcd中。称量bc,如果相等,答案为d;如果不等,轻者为答案。
情形三:
abcd重。
在efgh中取出fgh,替换掉abcd中的bcd。 在ijkl中取出jkl,补充到原来fgh的位置。
如果afgh重,答案为a或e。称量ab,如果相等,答案为e;如果不等,答案为a。 ^
如果afgh轻,答案在fgh中。称量fg,如果相等,答案为h;如果不等,轻者为所求。
如果一样重,答案在bcd中。称量bc,如果相等,答案为d;如果不等,重者为答案。
至于13个球的称法,至今本人仍没想出来。望高手赐教。
总结:(转载)
天平称重,有两个托盘比较轻重,加上托盘外面,也就是每次称重有3个结果,就是ln3/ln2比特信息。n个球要知道其中一个不同的球,如果知道那个不同重量的球是轻还是重,找出来的话那就是n个结果中的一种,就是有ln(n)/ln2比特信息,如果不知道轻重,找出来就是2n(n个球中的一个,轻或者重,所以是2n)个结果中的一种,那就是ln(2n)/ln2比特信息。
假设我们要称k次,根据信息理论,那显然两种情况就分别有:
1. k*ln3/ln2>=ln(n)/ln2 (k>=1) 解得k>=ln(n)/ln3
2. k*ln3/ln2>=ln(2n)/ln2 (k>1) 解得k>=ln(2n)/ln3
这是得到下限,可以很轻易证明满足条件的最小正整数k就是所求。比如称3次知道轻重可以从3^3=27个球中找出不同的球出来,如果不知道轻重就只能从(3^3-1)/2=13个球中找出不同的球出来。
文章来源于领测软件测试网 https://www.ltesting.net/