来一共有25匹马,5个赛道,在不使用计时器(也就是每次比赛只得到本次的比赛的顺序),试问最少比多少场才能选出最快的三匹马?
用Python程序实现
# 分成五组,分别是A,B,C,D,E五组,然后
# 跑25/5次,决出每组的组内名次
# 向上取整
# n = math.ceil(25 / 5)
# 将每组的第一名进行比较,跑1次,不妨设此次的结果为A1 > B1 > C1 > D1 > E1
# n = n + 1
# 此时我们可以知道:A1为第一名
# 首先D, E两组最快的都不在前三,所以全体排除
# 其次ABC的最后两名在组内都不能进入前三,所以排除
# 又 A1 > B1 > C1 > C2 > C3, 所以C2和C3排除
# 同理 B3 排除
# 所以只需要确定2,3名次即可
# 将A2,A3,B1,B2,C1跑一次,取前两名
# n = n + 1
# 所以,这和题的公式为
import math
N=25
n=5
number=math.ceil(25/5)+2
有帮助请点一下右上角的采纳,谢谢