数的三次方根
-
主要思想:浮点数的二分
- 1.定义l 和 r ±10000
- 2.定义mid=l+r>>1
- 3.mid3<=x 移动左边界 反之 移动右边界
-
#include<iostream> using namespace std; int main(){ double x; cin>>x; double l=-10000,r=10000; //题目要求保留6位小数 所以这里写1e-8 //如果是4位 就是1e-6 比较保险 while(r-l>1e-8){ //不能写>>1 double mid =(l+r)/2; if(mid*mid*mid>=x) r=mid; else l = mid; } //%lf 默认保留6为小数 printf("%lf", l); return 0; }