二分法求√2的近似值

算法描述:

使用二分法求出√2的近似值,精确到10^-5

程序代码:

#include 
const double eps = 1e-5; //精度为10^-5 
double f(double x) { //计算f(x) 
	return x*x;
}
double calSqrt() {
	double left = 1, right = 2, mid;
	while(right-left>eps) { //当不满足精度,执行二分 
		mid = (right+left)/2; 
		if(f(mid)>2) {  // f(mid)>2则说明mid>√2
			right = mid; //往座子区间[left,mid]继续逼近 
		} else { 
			left = mid; //往座子区间[mid,right]继续逼近 
		} 
	}
	return mid; 
}

int main(){
	printf("%lf\n",calSqrt());
	return 0;
}

运行结果:

二分法求√2的近似值_第1张图片

计算 √2的近似值等价于求f(x) =x*x-2=0在[1,2]范围内的根。

你可能感兴趣的:(#,算法笔记)