12金币问题的解决


title: 12金币
date: 2023-05-16 11:42:26
tags: 数据结构与算法


  • git地址:https://github.com/944613709/HIT-Data-Structures-and-Algorithms

  • 12金币

    **问题:**给出12个硬币,其中一个是假硬币,用一个天平来确定三种重量的假币(其中假币可能比其他硬币轻或重)。问:至少称量多少次能够保证判断出:是否假币,而且如果有,确定假币是哪一颗,

    算法思想:

    首先将金币分成三份,然后取出前面两份进行比较,第一次比较之后能够缩小假币的范围以及能够确定某些一定是真币,第二次就可以缩小范围以及利用已经确定是真币的去进行比较,第二次比较之后能够进一步缩小范围,第三次再次利用小范围可能的假币和已知的真币的信息进行比较,从而确定假币

    算法步骤:

    \1. 分为三份A 1,2,3,4 B 5,6,7,8, C 9,10,11,12

    (1) A=B -》A和B全真,假币在C

    ① 分为D 1,9 E 10,11

    \1) D=E ——》可能情况:12L12H

    a. 1>12 12L

    b. 1<12 12H

    \2) D>E ——》可能情况:9H11L10L

    a. 10=11 9H

    b. 10>11 11L

    c. 10<11 10L

    \3) D<E ——》可能情况:9L10H11H

    a. 10=11 9L

    b. 10>11 10H

    c. 10<11 11H

    (2) A>B——》 C全真

    ① 分为F 1,2,3,5,6 G 4,9,10,11,12

    \1) F=G——》可能情况:8L7L

    a. 7>8 8L

    b. 7<8 7L

    \2) F>G——》可能情况:3H1H2H

    a. 1=2 3H

    b. 1>2 1H

    c. 1<2 2H

    \3) F<G——》可能情况:4H6L5L

    a. 5=6 4H

    b. 5>6 6L

    c. 5<6 5L

    (3) A<B——》C全真

    ① 分为 H 1,2,3,5,6, I 4,9,10,11,12

    \1) H=I——》可能情况:7H8H

    a. 7>8 7H

    b. 7<8 8H

    \2) H>I——》可能情况:4L5H6H

    a. 5=6 4L

    b. 5>6 5H

    c. 5<6 6H

    \3) H<I——》可能情况:3L2L1L

    a. 1=2 3L

    b. 1>2 2L

    c. 1<2 1L

    判定树图

    12金币

    扫描全能王 2021-11-17 21.43_2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fars

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值