【银蛇出品】数学漫谈5——说说手开方及其原理

前置知识:二项式定理

我们在进行数学计算和数学推导时,可能已经习惯了将最终结果保留为解析解而不是数值解了。可在实际应用过程中,必然要将解析解转化为数值解才能使用。当然,我们可以利用计算机,使用相应的数值方法算出数值解。如果没有计算机,数值方法使用起来可能就存在困难。这里我们来说说一种手开平方的方法。

例1 计算√71824
解 从个位开始,2位分为一组;

试商,2²=4<7, 3²=9>7,于是第一位结果上2;

试商,20×6×2+6²=276<318, 20×7×2+7²=329>318,于是第二位结果上6;

试商,20×8×26+8²=4224,于是第三位结果上8;

于是√71824=268。
例2 计算√2
解 试商,1²=1<2, 2²=4>2,于是第一位结果上1;

补2位0,试商,20×4×1+4²=96<100, 20×5×1+5²=125>100,于是第二位结果上4;

补2位0,试商,20×1×14+1²=281<400, 20×2×14+2²=564>400,于是第三位结果上1;

补2位0,试商,20×4×141+4²=11296<11900, 20×5×141+5²=14125>11900,于是第四位结果上4;

于是√2=1.414…。

接下来我们来说明这种算法为何是逐位精确的。
任意一个1~9之间的整数的平方结果必为1位或2位数,据此出发,我们可以证明:一个n位数的平方结果必为2n-1位或2n位数。这是我们对整数部分划分成2位1组的依据。
然后是试商的原理。
我们假设要对数b开平方,已经求出前面若干位的精确值am-1,下一位待求的数是xm。我们要找到一个比较好的xm,使得

(10ⁿ的作用是调整位数)比较接近b,但又不要大于b,否则下一位待求数xm+1就是负数,这是不被允许的。
我们设当前误差为en,下一次误差为en+1。首先能求出x1,于是a1=x1;这时

问题转化成找到使非负数e1最小的x2。随后a2=10a1+x2,就有

看到20a2x3+x3²了吧?现在就能够说清楚我们开方试商的原理了。我们把整数部分划为2位1组,其实就是解决了调整位数的问题,每次试商只要凑出最大的20am-1xm+xm²,其实是在从真实值的较小侧,以最接近的幅度逐步逼近真实值,这样就能逐位精确开平方了。
用类似的思路,你能否想到如果手开n次方呢?提示:先将被开方数以n位划分为一组,然后用(10am-1+xm)ⁿ进行推导。
最后,试着利用这种方法计算一下³√2吧。Key: ³√2=1.259…