题解: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;  // 计算中点// 检查中点的立方是否大于等于xif (mid * mid * mid >= x) r = mid;  // 如果成立,说明解在左半区间else l = mid;  // 否则解在右半区间}// 输出结果,保留6位小数printf("%.6lf", l);return 0;
}

【运行结果】

1000.00
10.000000