本文主要是介绍uva 10773 - Back to Intermediate Math(数论),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:uva 10773 - Back to Intermediate Math
题目大意:有一天河,宽d,水流速度v,船速u,问说垂直过河和最快过河的时间差,如果不能过河输出“can't determine”。
解题思路:将u的速度分解成水平方向和竖直方向的两个速度,使水平方向速度恰好为v,船即可垂直过河,速度为竖直方向速度。
#include <cstdio>
#include <cstring>
#include <cmath>const double eps = 1e-6;int main () {int cas;scanf("%d", &cas);for (int i = 1; i <= cas; i++) {double d, u, v;scanf("%lf%lf%lf", &d, &v, &u);printf("Case %d: ", i);if (u-v < eps || u < eps || v < eps)printf("can't determine\n");else {double x = sqrt(u*u - v*v);printf("%.3lf\n", d/x - d/u);}}return 0;
}
这篇关于uva 10773 - Back to Intermediate Math(数论)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!