算法学习-天平与假币

题目

有12枚硬币,其中有且只有1枚是假币,但不知道是重还是轻。现给定一架没有发吗的天平,问至少需要多少次称量才能确保找到这枚假币?

进一步思考:如何证明某个方案是最少次数?

分析

随机将12枚硬币等分成3分,每份4枚,标机为A、B、C三份。

将A放于左侧,B放于右侧,用天平称量A和B,分三种情况:

  1. 天平平衡
  2. A(左)比B(右)重
  3. A(左)比B(右)轻,与2对称,只分析2即可
天平平衡说明A、B中没有假币,假币在C中,将C中的4枚编号为甲乙丙丁。取甲乙用天平称量,若平衡,说明甲乙是振臂,丙丁有一枚是假币。取加冰用天平称量,若不平衡,说明丙是假币;若平衡,说明丙是真币,丁是假币。

A比B重,说明假币必然在A、B中,C中的4枚都是真币。将A中4枚硬币编号为1234,B中编号为5678,C中编号为甲乙丙丁。选125放于左侧,34甲放于右侧;天平有山中情况:1、天平平衡,说明678含假币,且假币轻。2、125比34甲重,说明12含假币,且假币重,因为5和34是移动过的硬币,而且没有改变天平,所以定是真币,同理678也是真币,甲就不用说了,所以12是假币且假币重。3、125比34甲轻,说明34含假币,且假币重,或者5是假币,且假币轻。无论如何,最多再一次称量即可找到假币。

进一步思考有点难以理解。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值