python八枚硬币问题

用python写算法之八枚硬币问题
先来看算法要求:
在8枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测这枚假币。
我刚开始看到这个算法的时候,有点蒙,这。。这直接排序不久完了吗。。哈哈哈,那是肯定不行的。我觉得在我看到一个问题的时候,我首先要想到是的,不要为了答案去解决问题,就像我想到的脑残问题,我拿abcd给这个8个硬币标记下,然后排个序,找到这个fake不就得了吗,其实我觉得你们都会笑,怎么会这么蠢,我其实还真看到同学跟我一样的想法。。。
废话不多说了,切入正题吧,对于这个八枚硬币,要求的是减治法,8枚然后推广到N枚。
先说8枚。
我看到了网上的一些写法,是用c++写的,是我的一个师兄,写得也非常好推荐给大家。
https://www.cnblogs.com/liuzhen1995/
这个大神吧,我觉得是啊,今年保了研,本人的算法也是根据这位学长的写的,转化加改进。
还是那样先放代码
`def find_coins(A):
a,b,c,d,e,f,g,h = A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7]
abc = a + b + c
dfe = d + e + f
if

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值