#include <iostream>
using namespace std;
int main()
{
double x;
scanf("%lf",&x);
double l = 0 , r = x;//确定边界
while((r-l)>=1e-8){//确定精度进行循环
double mid = (l+r)/2;//每次都找到中间值
if(mid * mid >= x) r = mid; //如果mid*mid>=x 说明mid在根号x的右边,答案一定在左边就把右边界缩小
else l = mid;//同理
}
printf("%f\n",l);
return 0;
}
浮点数二分法-实现sqrt函数
最新推荐文章于 2024-02-12 15:47:51 发布