求一个数的平方根
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
double x;
cin>>x;
double l=0,r=max(x,1);//右边界不能小于1,例如果x=0.01,平方根为0.1,不在0.01的范围内
while(r-l>1e-8)//区间长度大于一个足够小的数
*// 经验值,题目如果要求保留n为小数,区间长度为1e-(n+2)*
// for(int i=0;i<100;i++)//迭代100次
{
double mid = (1+r)/2;//浮点数取中点没有差1的情况
if(mid*mid>=x) r=mid;
else l=mid;
}
printf("%lf\n",l);
return 0;
}