[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 @   wKingYu  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
欢迎阅读『[AcWing 790] 数的三次方根』
点击右上角即可分享
微信分享提示