POJ-2507(另类变态二分法)
·
二分求未知数
int main()
{
double x, y, c;
while (cin>>x>>y>>c) {
double low = 0.0;
double high = y;
double mid;
while (low <= high) {
mid = (low + high) / 2;
double test = c * (sqrt(x * x - mid * mid) + sqrt(y * y - mid * mid)) - sqrt(y * y - mid * mid) * sqrt(x * x - mid * mid);
if (MY_ABS(test) < 0.000001) break;
if (test < 0) low = mid;
else high = mid;
}
printf("%.3lf\n", low);
}
return 0;
}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)