赛马问题详解

 问题介绍:总共有36匹马,6个跑道,每个跑道一次只能一匹马。在没有任何工具的情况下,最少需要比赛几次能找出最快的三匹马?

我们首先可以想到将36匹马分成6组进行比赛,那么每组的第一匹马肯定是这六个里面最快的。

这样我们就进行了比赛

那么问题来了,最快的三匹马是从每组的第一名中产生吗?当然不是!想一想田忌赛马的故事就知道有可能第一组中的第二名比其他组的第一名还要快。  接下来我们会考虑将每组的前三名挑出来进行比赛,依次重复上面的方法,这样我们需要进行6 + 3 + 2 + 1 = 12次。这样显然不是最快的方法。

更快的方法:由于我们要找出前三名,因此我们直接淘汰掉每组中的第四,第五,第六名。然后我们让所有组里的第一名进行比赛,找出前三名。那么我们最快的三匹马只能在这前三名所在的组里出现。

我们假设所有组中最快的马进行比赛,排名如下

现在我们总共比赛了七次

要找前三名,我们把就第七次比赛的后三名淘汰掉。

那么前三名只能在第一组的1,2,3名、第二组的1,2名和第三组的第1名中产生。(因为一组中的第2,3名可能比第二组中的第1名还要快,以此类推)

最后我们只要把上面6匹马比较一次,就能得出最终的前三名。

 所以要比较出前三名,最少需要八次

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值