天天看点

Acwing 790. 数的三次方根思路参考

给定一个浮点数

n

,求它的三次方根。

输入格式

共一行,包含一个浮点数

n

输出格式

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

注意,结果保留 6 位小数。

数据范围

−10000≤n≤10000

输入样例:

1000.00

输出样例:

10.000000

思路

在区间中找到一个接近的值

#include <iostream>

using namespace std;

int main() {
	double x;
	cin >> x;输入浮点数

	double l = -10000, r = 10000;//结果范围的初始化
	while (r - l > 1e-8) {
		double mid = (l + r)/2;//每一次取中间值判断边界大小,缩小区间
		if (mid * mid * mid >= x) r = mid;
		else l = mid;
	}

	printf("%1f\n", l);//找到一个最接近的值

	return 0;
}
           

参考

1.https://www.acwing.com/problem/content/792/