求解:(1)十分钟后蚂蚁间两两相遇的次数。
(2)九分钟后蚂蚁间两两相遇的次数。
(3)若开始时A在起点,B在操场的1/4处,C在操场的1/2处,D在操场的3/4处,又如何?
首先我们来分析这个问题,环形追及相遇问题有一个默认的已知条件:
当快的追上慢的的时候经过的路程差(此处为路程差,手机上看到的路程是错误的)刚好为跑道一周的长度。
由此我们可以得到一个公式:
跑道一周的长度=速度差×追及时间
由题已知速度差和跑道长度可以根据公式计算得出追及时间
追及时间=跑道一周的长度÷速度差
因为每一次追上之后对于环形而言又是全新的开始所以:
相遇的次数=总时间÷追及时间
这道题(1)(2)问只需算出这些蚂蚁两两之间的追及时间即可简单得出结论。
因为剩下的步骤都是一些重复的计算所以可以考虑用代码完成
(1)(2)问代码实现如下
#python3
#定义一个蚂蚁类,这个蚂蚁类有名字属性和速度属性
class Ant(object):
def __init__(self, name, speed):
self.name = name
self.speed = speed
#追及时间=跑道一周的长度÷速度差
d