文章目录

  • Question
  • Ideas
  • Code


Question

给定一个浮点数 n
,求它的三次方根。

输入格式
共一行,包含一个浮点数 n

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

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

数据范围
−10000≤n≤10000
输入样例:
1000.00
输出样例:
10.000000

Ideas

  • 实数二分,注意判断条件中的位数即可

Code

#include <iostream>

using namespace std;

int main()
{
    double n;
    scanf("%lf", &n);

    double l = -100, r = 100;
    while (r - l > 1e-8)
    {
        double mid = (l + r) / 2;
        if (mid * mid * mid <= n)
        {
            l = mid;
        }
        else
        {
            r = mid;
        }
    }
    printf("%lf", r);
}```

```python
n = float(input())

l, r = -100, 100

while r - l > 1e-8:
    mid = (l + r) / 2
    if mid ** 3 >= n:
        r = mid
    else:
        l = mid
    
print(f'{l:.6f}')

790. 数的三次方根(C++和Python3)——2023.5.4打卡_#include


乘方函数:pow

#include <stdio.h>
#include <math.h>

int main() {
    double x = 4, y = 6;  //为变量赋初值
    double result = pow(x, y);  //求a的b次方
    printf("%lf\n", result);

    return 0;
}