前几天上数学课的时候发生了一件有趣的事情。我们的数学老师在上二分法的课的时候猛批二分法,顺带着连编程也遭殃。结果,1/4个班的人都用一个奇怪的眼神看着我……
我只想说,老师,请给我手算一个一千位大整数开方(不用二分法),好吧,我也没法手算。但这恰恰说明了二分法思想和编程的重要性。编程基础的事情出门左拐寻各种书籍吧。今天我主要讲二分法。
一.概念
二分法,顾名思义就是把一个区间分开来找答案,而数学上的严格定义是指通过不断地把区间[a,b]一分为二(前提:f(x)在[a,b]上的图像连续不断而且f(a)*f(b)<0)使a,b逐渐逼近零点的方法。(零点就是指使f(x)=0的x值)
比如说像NOIP2001TG的一元三次方程求解(原题: