题解 | #求解立方根#
求解立方根
https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
// HJ107 求解立方根.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
double cal(double x)//二分法求解
{
double right = 20, left = -20;//定义边界
double y;//定义中间值
while (abs(right - left) > 0.01)//判断边界最小误差
{
y = (right + left) / 2;//赋值给中间值
if (y * y * y < x)//中间值和目标值做对比
{
left = y;//缩小范围
}
else
right = y;//缩小范围
}
return y;
}
int main()
{
double a;
while (cin >> a)
{
cout << setprecision(1) << fixed << cal(a) << endl;//使用保留小数的函数setprecision和fixed配合输出
}
return 0;
}

