2020-10-14

算法课

一、13个硬币,有一枚假币,与其他重量不同,现在有一个天平,用分治算法尽快找出这枚硬币。
(1)6 6 1
只考虑最差的情况
66相比,6a>6b
分别用天平测6aa,6ab与6ba与6bb
其中会有一组是相等的,则可以判断出6a与6b中哪个是含假币的(或重或轻),6aa>6ab,6ba=6bb
这里认为重的是假币,则出现在6a中,经过上次判断,假定在6aa中,再分为1 、1、1即可测出。
共5次
(2)3 3 3 3 1
3a、3b、3c、3d
3a>3b,3c=3d
用3a与3c比,若3a>3c,则假币在3a中,且更重
反之,在3b中,更轻
3a分为1、1、1
共4次
(3)4 4 4 1
4a与4b比,相等
4a<4c,c有假币,更重
4c分2a、2b
2a>2b,分1、1
共4次
二、13个硬币,2个假币,与其他重量不同,现在有一个天平,用分治算法尽快找出这枚硬币。
(1)3 3 3 3 1
3a=3b,3c=3d
3a>3c
3a分1、1、1
称重1a=1b,1a<1c,才判断出重的是假币,且在3a与3b中
3b分1、1、1
(或者
1a=1b=1c,则在3c与3d中,假币更轻
再比2次)
最多需要比较7次,正常6次即可
(2)4 4 4 1
4a=4b,4a>4c
则在4a,4b中,且更重
4a分2a、2b,2a>2b,分1、1
4b同
共6次

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值