• 【智力问题】25匹马赛跑,每次只能跑5匹马,最快能赛几次找出跑得最快的3匹马?赛跑不能计时,并假设每匹马的速度是恒定不变的。


    答案是7次。

    1. 首先将25匹马分成5组a、b、c、d、e进行比赛。比赛的次数就是5次。得到每组的第一名,分别编号a1,b1,c1,d1,e1。

    2. 然后我们将每组的第一名进行比赛,得出结果。假设a1>b1>c1>d1>e1。(大于号表示a1比b1快,1表示第一名)。在这个地方我们可以推断出,a1是所有马中最快的,所以它是第一名。d1,e1不可能是前三的马,同时这两匹马所在的组也不可能是前三的马。所以排除这两组马,还剩三组15匹马。现在需要找出第二快和第三快的马。

    3. 第二名和第三名的马在刚才的比赛中有以下几种分布情况:

      全部在a组(最快的马所在的组),那么它有是a1和a3.

      全部在b组,那么它们就是b1和b2。

      一匹在a组一匹在b组,那么它们是a2和b1.无论是第三名在a组还是第二名在a组都是这两匹。

      一匹在a组一匹在c组,那么它们是a2和c1。

      一匹在b组一匹在c组,那么它们是b1和c1。

      所以我们把a2,a3,b1,b2,c1拿出来再进行一场比赛。取前两名就是最终的结果。

    参考资料:http://coolshell.cn/articles/1202.html

  • 相关阅读:
    vue中mixins(混入)的使用
    js实现淘宝轮播图放大镜效果
    vue中的provide和inject
    vue自定义过滤器
    vue自定义指令
    HTTP和HTTPS详解
    可靠的TCP连接为何是三次握手和四次挥手
    跟着动画来学习TCP三次握手和四次挥手
    简单了解TCP/IP与HTTP
    网络协议
  • 原文地址:https://www.cnblogs.com/vincently/p/4802592.html
Copyright © 2020-2023  润新知