题目:http://acm.hdu.edu.cn/showproblem.php?pid=2552
AC代码(C++):
#include <iostream> #include <queue> #include <string> #include <algorithm> #include <math.h> #define INF 0x3f3f3f3f #define eps 1e-8 using namespace std; int main() { int t; cin >> t; while (t--) { double s, u, v; cin >> s >> u; v = 1.0 / tan(atan(1.0 / s) - atan(1.0 / u)); double ans = v*u - s*u - s*v + eps; printf("%.0lf\n", ans); } //system("pause"); }总结: 水题. 看了网上结题报告, 表达式化简后答案就是1...然而math.h里的tan和atan函数误差都非常大, 所以最后算出来用int取整会大概率WA, 解决方法可以是加上一个大一点的eps或者直接用%.0lf输出.
本文提供了一道来自HDU OJ的简单数学问题的解答过程及代码实现。通过使用C++语言,利用math.h库中的函数进行角度转换与计算,解决了涉及正切函数的问题。需要注意的是,由于数学函数的精度限制,在最终输出结果时需适当调整以避免错误。
748

被折叠的 条评论
为什么被折叠?



