目录
题目链接
活动 - AcWing
一些话
①double保留6位小数
②注意:用cout有时会自动取整
切入点
给定一个浮点数 n,求它的三次方根。:
求三次方根,常用点二分
流程
①由−10000≤n≤10000
确定l,r的值
②由:注意,结果保留 6 位小数。
可知浮点二分的精度(r - l > 1e-8)
比题目精度多取两位
套路
ac代码
// 8 : 27 ~ 8 : 35;r-l写成 < 1e8
// 8:38 ~ 8 :43 wa 忘记了是三次方根
// 8:44 ~ 8:50 l 写成了1e-4
// 8:51 ~ 54
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
double x,l = -1e4,r = 1e4;
cin >> x;
while (r - l > 1e-8){
double mid = (l + r) / 2;
if(mid * mid * mid >= x) r = mid;
else l = mid;
}
printf("%lf",l);
return 0;
}