//计算某数的平方根
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
double x;
scanf("%lf", &x);
const double eps = 1e-8; eps表示精度,取决于题目对精度的要求
double l = 0, r = max(x, (double) 1); //若x小于1,则二分的区间是0~1.
while (r - l > eps) //当l和r之间的距离特别小的时候,l或r就可以代表要找的数
{
double mid = (l + r) / 2;
if (mid * mid >= x) r = mid; //if (check(mid)) 当满足某种性质时,缩小区间
else l = mid;
}
printf("%lf", l);
return 0;
}
(C++) 基础算法学习:浮点数二分
于 2023-01-26 15:58:21 首次发布