主题:小车问题 C语言
【问题描述】
甲,乙两人要同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲,乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
【输入】
仅一行,三个数据分别表示AB两地的距离s,人步行的速度a,车的速度b。
【输出】
两人同时到达B地需要的最短时间。
【样例】
car.in
120 5 25
car.out
9.6000000000E+00
【算法提示】
甲先乘车到达K处后下车步行,小车再回头接已走到C处的乙,在D处相遇后,乙再乘车赶往B地,最后甲,乙一起到达B地。这样问题就转换成了求K处的位置,我们用二分法,不断尝试,知道满足同时到达的时间精度。算法框架如下:
(1)输入s,a,b;
(2)c0=0;c1=s;c=(c0+c1)/2;
(3)求t1,t2;
(4)如果t1<t2,那么c=(c0+c)/2
否则c=(c+c1)/2;
反复执行(3)和(4),直到abs(t1-t2)满足精度要求(即小于误差标准)。
大家帮忙把这个问题用C语言实现吧,我是一个编程菜鸟,做不出来,万分感谢啊。
甲,乙两人要同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲,乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
【输入】
仅一行,三个数据分别表示AB两地的距离s,人步行的速度a,车的速度b。
【输出】
两人同时到达B地需要的最短时间。
【样例】
car.in
120 5 25
car.out
9.6000000000E+00
【算法提示】
甲先乘车到达K处后下车步行,小车再回头接已走到C处的乙,在D处相遇后,乙再乘车赶往B地,最后甲,乙一起到达B地。这样问题就转换成了求K处的位置,我们用二分法,不断尝试,知道满足同时到达的时间精度。算法框架如下:
(1)输入s,a,b;
(2)c0=0;c1=s;c=(c0+c1)/2;
(3)求t1,t2;
(4)如果t1<t2,那么c=(c0+c)/2
否则c=(c+c1)/2;
反复执行(3)和(4),直到abs(t1-t2)满足精度要求(即小于误差标准)。
大家帮忙把这个问题用C语言实现吧,我是一个编程菜鸟,做不出来,万分感谢啊。