题解:AcWing 790 数的三次方根
【题目来源】
AcWing:790. 数的三次方根 - AcWing题库
【题目描述】
给定一个浮点数 ,求它的三次方根。
【输入】
共一行,包含一个浮点数 。
【输出】
共一行,包含一个浮点数,表示问题的解。
注意,结果保留 位小数。
【输入样例】
1000.00
【输出样例】
10.000000
【解题思路】

【算法标签】
《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
浙公网安备 33010602011771号