本文共 520 字,大约阅读时间需要 1 分钟。
题目链接:
设 交点到右端点的距离为 d 底边长为 L
则有三角形相似得 d / L = c / sqrt(y^2 - L^2) (1)
(L - d) / L= c / sqrt(x^2 - L ^2); (2)
由(1)(2)可得 1 - c / sqrt(y^2 - L^2) - c / sqrt(x^2 - L ^2) = 0;
有上式可得 L越大 左式越小,即为减函数 二分求L
#include#include #define min(a,b) (a 0.00001) { mid = (x1 + y1) / 2.0 ; if(f(mid) < 0) y1 = mid; else x1 = mid ; } printf("%.3lf\n",mid);}int main(){ while(scanf("%lf%lf%lf",&x,&y,&c)!=EOF) { int _min; _min = min(x,y); search(_min); }}