《浮点数二分》

117 阅读1分钟
#include <iostream>
using namespace std;
int main()
{ 
   double x;
   cin >> x; //读入一个浮点数。 
   double l = -1e6, r = 1e6;//确定区间。 
   while (r - l > 1e-8)//一般保证幂的绝对值是保留小数的100倍。 
   { 
      double mid = (l + r) / 2; 
      if (mid * mid * mid >= x) r = mid;
      else l = mid;
   } //不断二分,直至左端点等于右端点。 
   printf("%.6lf\n", l);//输出这个数的立方根 
   return 0;
}