题目链接
活动 - 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; }