作者yllan (蓝永伦)
看板logic
标题[转录]Re: [问题] 秤重的老问题
时间Sun Dec 4 02:08:08 2005
※ [本文转录自 Inference 看板]
作者: zephyr (断了线的风筝) 看板: Inference
标题: Re: [问题] 秤重的老问题
时间: Fri Dec 17 01:55:45 2004
※ 引述《u504053 (Rebecca)》之铭言:
: 现在假设有12个球,其中有一颗的重量与其它11颗球不同,
: 只是也不知道比较轻还是比较重。
: 有办法只用三次天秤就秤出结果来吗?
: 这是秤重的老问题
: 我手上也有所谓的解答
: 可是我觉得那考虑太少状况
: 解答好像不太完全
: 大家讨论一下吧 ^Q^
._.a
花时间再写一次用编码解的过程好了....
秤一次天秤有三种结果,三次就是3*3*3=27种
我们希望把每一种结果都能对应到某一颗球是轻或重上
比如说想把"三次都是左边重"对应到"A球较重",那就必须三次都把A球放在天秤左边
在这种放法下,完全相反的结果"三次都是右边重",当然也就会对应到"A球较轻"
用编码解的出发点就是这样,希望刚好把所有结果都分完
接下来把27种可能都列出来 (右:表示右重,左:表示左重,平:表示平衡)
右右右 A重 左左左 A轻 右右平 B重 左左平 B轻
右右左 C重 左左右 C轻 右平右 D重 左平左 D轻
右平平 E重 左平平 E轻 右平左 F重 左平右 F轻
右左右 G重 左右左 G轻 右左平 H重 左右平 H轻
右左左 I重 左右右 I轻 平右右 J重 平左左 J轻
平右平 K重 平左平 K轻 平右左 L重 平左右 L轻
平平右 M重 平平左 M轻 平平平
里面的平平平表示上秤的所有球都一样重,也就是没有不同的球
其他26种结果都会对应到某颗球是轻或重
然後依照上面那种方法把这些球放在天秤上
(如前所述般,右右右是A重,所以A要放右边)
就有
1. : ABCDEFGHI
2. GHI : ABCJKL
3. CFIL : ADGJM
不过这种放法显然是失败的,因为天秤要在两边个数一样的时候才能秤
所以要把前面的编码方法稍微做点修正
(在这边我把B,C,D,E的轻重颠倒过来)
右右右 A重 左左左 A轻 右右平
B轻 左左平
B重
右右左
C轻 左左右
C重 右平右
D轻 左平左
D重
右平平
E轻 左平平
E重 右平左 F重 左平右 F轻
右左右 G重 左右左 G轻 右左平 H重 左右平 H轻
右左左 I重 左右右 I轻 平右右 J重 平左左 J轻
平右平 K重 平左平 K轻 平右左 L重 平左右 L轻
平平右 M重 平平左 M轻 平平平
就有
1.
BCDE : AFGHI
2.
BCGHI : AJKL
3.
DFIL : A
CGJM
在这里只要多一个正常的球
N上去做平衡
就是"秤三次,从13颗球中找出一颗重量不同的球"的秤法
1. BCED
N : AFGHI
2. BCGHI : AJKL
N
3. DFIL
N : ACGJM
反过来,如果把球G去掉
就是"秤三次,从12颗球中找出一颗重量不同的球"的秤法
1. BCDE : AFHI
2. BCHI : AJKL
3. DFIL : ACJM
类似的做法也可以很容易的推广到
"秤N次,从[(3^N)/2]-1颗球中找出一颗重量不同的球"上
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.190.43
1F:推 shmilorm:两眼昏花中...我果然还是太嫩了.. 144.136.132.152 12/18
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.131