天天看點

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/