[AcWing 790] 数的三次方根

image


点击查看代码
#include<iostream>

using namespace std;

int main()
{
    double x;
    scanf("%lf", &x);
    double l = -1e5, r = 1e5;
    while (r - l > 1e-8) {
        double mid = (l + r) / 2;
        if (x <= mid * mid * mid)   r = mid;
        else    l = mid;
    }
    printf("%.6f", l);
    return 0;
}

  1. 浮点数二分模板;
  2. while 的判断条件 1e-8 是因为比结果要保留的 1e-6 小 1e-2,一般可以采用这个经验,将判断条件设置为比结果要保留的小数小两位的数;
posted @ 2022-04-25 00:18  wKingYu  阅读(34)  评论(0)    收藏  举报