作者cooljeans (彼此拥抱才能飞翔)
看板puzzle
标题Re: [问题] 12个金币...
时间Fri Mar 23 16:01:06 2007
※ 引述《jasOTL ( iJasOrz.X)》之铭言:
: ※ 引述《rehearttw (易怀)》之铭言:
: : 抱歉回这麽早的文...
: : ------------------------------
: : 公式解:
: : 将金币编号成 1 2 3 4 5 6 7 8 9 10 11 12
: : 依照下面三次分法秤:
: : (1) 1 3 5 7 对 2 4 6 8
: : (2) 1 6 8 11 对 2 7 9 10
: : (3) 2 3 8 12 对 5 6 9 11
: : 三次结果分别依 < = > 纪录,对照下面公式表
: : <<< 不可能 <<= 1轻 <<> 2重
: : <=< 3轻 <== 4重 <=> 5轻
: : <>< 6重 <>= 7轻 <>> 8重
: : =<< 9重 =<= 10重 =<> 11轻
: : ==< 12轻 === 不可能 ==> 12重
: : =>< 11重 =>= 10轻 =>> 9轻
: : 这是根据三进位对照及作部分调正而来。
: 看到原PO的文章,引起了我一点兴趣
: 刚才想了一下
: 我使用的是二分法:
: 首先,将十二个硬币分成两堆,每堆6个金币
: 然後将两堆其中一堆拿去秤
: -
: 秤出来会有两个结果
: 1.重量正确
: (也就是这6个硬币是真货)
: [换言之,另外一堆金币里有假货]
: 2.重量不正确
: (可能是太重或者太轻,总而言之,这6个金币里头有假的)
: [换言之,另外一堆金币都是真货]
: -
: 接下来,将「里头有假货」的那堆金币再拆成两堆,每堆3个金币
: 再拿其中一堆去秤,同样会有两个结果:
: 1.重量正确
: (也就是这3个金币是真货)
: [换言之,假货在另外那三个金币里面]
: 2.重量不正确
: (也就是这三个金币里面有假货)
: [换言之另外一堆金币都是真的]
: -
: 同样的把"里头有假货"的三个金币,分成 "1个金币一堆" 以及 "2个金币一堆"
: 然後拿"2个金币一堆"的去秤重量
: 会得到两个结果:
: 1.重量正确
: *因此可得,另外那一个金币是假货
: 2.重量不正确
: ※这两个金币,其中一个是假货!!
: 可是,三次秤重的机会都已经秤完,该怎麽确认哪一个才是真正的假货?
: 经过一番思索,我突然想到...
: 『拿其中一个硬币起来,看看秤盘的反应』
: 如果:
: 1.重量正确
: *那代表你手上拿的是假货!
: 2.重量不正确
: *那代表秤盘上面的才是假货!
: 如此一来,就能够符合题目的要求,在12个金币里找到那一枚假货。
先分成3组 A1A2A3A4,B1B2B3B4,C1C2C3C4
case1. 先拿AB来秤(1), 等重=>C有问题
从C当中拿C1C2C3和AB当中任3个来秤(2),等重=>C4有问题
不等重=> 我们可以知道C1C2C3是比正常的轻或重(* 假设比较重好了)
再拿C1C2来秤(3), 等重=>C3有问题
不等重=>看那个重就那个有问题啦(from *),反之亦然
case2. 先拿AB来秤(1), 不等重=>(** 记住那边轻那边重,先假设A重B轻)
拿A1A2B1,A3A4B2来秤(2),
a.等重=>B3B4有问题
拿B3B4秤,看那个轻就是有问题(from **)
b.不等重=>(***假设A1A2B1那边重,A3A4B2那边轻),那问题就是A1A2或者B2罗
至於为什麽呢? =>换个角度想,如果B1有问题(B是轻的**),怎麽可能有***呢
如果A3A4有问题(A是重的**),怎麽可能有***呢
接着我们拿A1A2秤(3),如果等重=>B1有问题
不等重=>看那个重就是有问题(**)
参考参考,报告完毕@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.134.245
1F:推 rehearttw:先推! 03/23 21:45