提交时间:2024-01-25 11:36:23

运行 ID: 128050

#include <bits/stdc++.h> using namespace std; double x,y,c; bool chk(double l) { double a = sqrt(x * x - l * l),b = sqrt(y * y - l * l); return !(1 / a + 1 / b > 1 / c); } signed main() { while (cin >> x >> y >> c) { double l = 0,r = sqrt(min(x,y) * min(x,y) - c * c); while (l <= r) { double mid = l + (r - l) / 2; if (chk(mid)) l = mid + 0.00001; else r = mid - 0.00001; } printf("%.3lf\n",l + 0.00001); } return 0; }