题解:AcWing 790 数的三次方根

【题目来源】

AcWing:790. 数的三次方根 - AcWing题库

【题目描述】

给定一个浮点数 ,求它的三次方根。

【输入】

共一行,包含一个浮点数 。

【输出】

共一行,包含一个浮点数,表示问题的解。

注意,结果保留 位小数。

【输入样例】

1000.00

【输出样例】

10.000000

【解题思路】

image

【算法标签】

《AcWing 790 数的三次方根》 #二分#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

int main() {
    double x;
    cin >> x;  // 输入要计算立方根的数值
    
    // 初始化二分查找的左右边界
    double l = -10000, r = 10000;
    
    // 当区间长度大于1e-8时继续二分
    while (r - l > 1e-8) {
        double mid = (l + r) / 2;  // 计算中点
        
        // 检查中点的立方是否大于等于x
        if (mid * mid * mid >= x) 
            r = mid;  // 如果成立,说明解在左半区间
        else 
            l = mid;  // 否则解在右半区间
    }
    
    // 输出结果,保留6位小数
    printf("%.6lf", l);
    
    return 0;
}

【运行结果】

1000.00
10.000000
posted @ 2026-02-20 22:14  团爸讲算法  阅读(2)  评论(0)    收藏  举报