文章目录
- 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}')
乘方函数: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;
}