題目:在兩個高樓間搭建兩個梯子,已知梯子長度和焦點到地面的高度,求解建築減的距離。
分析:計算幾何。按照比例求解关系式。因为方程不好求解直接利用二分迭代求解即可。
设距离为l,利用相似可以得到 n:c = l:a m:c = l:b,联立比例方程得
利用二分求解上式即可。
說明:╮(╯▽╰)╭。
#include <cstring>
#include <cstdio>
#include <cmath>
int main()
{
double x, y, c;
while (~scanf("%lf%lf%lf",&x,&y,&c)) {
double l = 0.0, r = x;
if (r > y) {
r = y;
}
double mid = 0.5*(l+r);
while (r - l > 1e-5) {
mid = 0.5*(l+r);
if (c/sqrt(x*x - mid*mid) + c/sqrt(y*y - mid*mid) < 1.0) {
l = mid;
}else {
r = mid;
}
}
printf("%.3lf\n",mid);
}
return 0;
}