一句话理解
实数二分:答案是小数,二分精度。
为什么要学
面积、速率、二分求实根。
讲解
循环固定 100 次,或 while (r-l>eps)。输出用 setprecision。
不要用整数二分的 mid±1。mid=(l+r)/2 即可。
例子
for (int it = 0; it < 100; it++) {
double mid = (l + r) / 2;
if (check(mid)) r = mid;
else l = mid;
}
100 次后误差极小。比依赖 eps 更稳。
常见错误
- eps 太大输出位数不够。
- check 用 == 比较浮点。