题解 | #求解立方根#

求解立方根

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;
}

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2025-11-27 10:04
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务