算法思想
浮点二分不像整数二分需要确定是哪个,浮点二分可以直接精确最中间的位置,所以用小数点后的多少位表示中间值的精度
代码
#include<iostream>
using namespace std;
int main()
{
double x;
cin >> x;
double l = 0, r = x;
//保留4位小数,就写1e-6
//保留5位小数,就写1e-7
//就是要比lf多2
while(r - l > 1e-8)
{
double mid = (l + r) / 2;
if(mid * mid >= x) r = mid;
else l = mid;
}
printf("%lf\n", l);
return 0;
}