描述
兄弟俩骑车郊游,弟弟先出发,每分钟 X 米, M 分钟后,哥哥带一条狗出发。以每分钟 Y 米的速度去追弟弟,而狗则以每分钟 Z 米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?
输入
第一行输入一个整数 N ,表示测试数据的组数 (N<100)
每组测试数据占一行,是四个正整数,分别为 M,X,Y,Z (数据保证 X<Y<Z)
输出
输出狗跑的路径,结果保留小数点后两位。
样例输入
1
5 10 15 20
样例输出
兄弟俩骑车郊游,弟弟先出发,每分钟 X 米, M 分钟后,哥哥带一条狗出发。以每分钟 Y 米的速度去追弟弟,而狗则以每分钟 Z 米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?
输入
第一行输入一个整数 N ,表示测试数据的组数 (N<100)
每组测试数据占一行,是四个正整数,分别为 M,X,Y,Z (数据保证 X<Y<Z)
输出
输出狗跑的路径,结果保留小数点后两位。
样例输入
1
5 10 15 20
样例输出
200.00
代码:
#include
<stdio.h>
int main()
{
int readLen = 0 ;
scanf ( "%d" ,&readLen);
getchar ();
while (readLen > 0 )
{
int m,x,y,z;
scanf ( "%d %d %d %d" ,&m,&x,&y,&z);
getchar ();
float result = m*x* 1.0f /(y-x)*z;
printf ( "%.2f\n" ,result);
--readLen;
}
return 0 ;
int main()
{
int readLen = 0 ;
scanf ( "%d" ,&readLen);
getchar ();
while (readLen > 0 )
{
int m,x,y,z;
scanf ( "%d %d %d %d" ,&m,&x,&y,&z);
getchar ();
float result = m*x* 1.0f /(y-x)*z;
printf ( "%.2f\n" ,result);
--readLen;
}
return 0 ;
}
本题通过数学公式先求得哥哥追上弟弟的时间,然后乘以狗的速度,即可求得狗跑了多少米。
问题不复杂,但是没搞清楚数学究竟在编程中起到的作用在哪里呢?