1.问题描述
25个人赛跑,5条跑道,在没有秒表的情况下如何用最少的次数找到跑得最快的3个人?
2. 分析步骤
(1) 第一步:25个人分5组
- 一组:a1, a2, a3, a4, a5;
- 二组:b1, b2, b3, b4, b5;
- 三组:c1, c2, c3, c4, c5;
- 四组:d1, d2, d3, d4, d5;
- 五组:e1, e2, e3, e4, e5;
(2) 第二步:找出5个第一名
- 这5组分别跑一次,得出5个第一,假设是:a1,b1,c1,d1,e1
(3) 第三步:找出第一名
- 让5个第一名跑一次就能得出第一名,假设是a1,此时用的次数是 6次
- 得到了五个第一名的排序顺序,假设是:a1,b1,c1,d1,e1
(4) 第四步:排除前3名以外的组
- 因为我们是要找前3名,所以d1、e1(他们是第四、第五名)所在的组就不用考虑了
(5) 第五步:找出第二、第三名 现在要考虑的是:
- a1,b1,c1,d1,e1 中的 c1;
- 第一组的a2,a3
- 第二组的b1,b2;
这五个人跑一次,就能决定出第二名、第三名
3. 结论
故需要跑 7次 就能找到前3名