本文来源于cjdyb的《算法笔记》,求解根编号2只能在区间内寻找与之近似的值来代替。 这里,假设知道根编号2,在1和2之间,满足一定的进度即可。 首先把两者除以2,也就是说1.5就知道他是2,25,然后依次类推区间右端的点是1.5。
完整代码# includecstdioconstdoubleeps=1e-5; doublef(doublex ) { return x*x; }double calSqrt () { double left=1,right=2,mid; wile(right-leftEPS ) mid=(left right )/2; if(f ) mid )2) { right=mid; }else{ left=mid; } } return mid; }int main () { double res=calSqrt ); printf('%lf ',res ); 返回0; }代码效果