兄弟郊游问题
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发。以每分钟Y米的速度去追弟弟,而狗则以每分钟Z米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?
-
输入
-
第一行输入一个整数N,表示测试数据的组数(N<100)
每组测试数据占一行,是四个正整数,分别为M,X,Y,Z(数据保证X<Y<Z)
输出
- 输出狗跑的路径,结果保留小数点后两位。 样例输入
-
1 5 10 15 20
样例输出
-
200.00
-
第一行输入一个整数N,表示测试数据的组数(N<100)
共有四个是已知的:
弟弟的速度:X
哥哥的速度:Y
狗的速度:Z
哥哥开始追的时候弟弟已出发的时间:M
假设哥哥追上弟弟时,也就是上图中的终点处,哥哥共走了 S 米,用的时间为 t 分钟,则:
y * t = x * m + x * t
由此可以得出哥哥追上弟弟共用时间:
t = ( x * m ) / ( y - x )
则狗共跑的路程为:
Z * t
代码:
#include<stdio.h>
int main( void )
{
double x = 0;
double y = 0;
double z = 0;
double m = 0;
double sum = 0;//狗跑的米数
int N = 0;
scanf("%d",&N);
while( N-- )
{
scanf("%lf%lf%lf%lf",&m,&x,&y,&z);//接收
sum = ( z * x * m ) / ( y - x );//计算
printf("%.2lf\n",sum);//输出
}
return 0;
}