怎样进行多次开方和多次方的心算?

多位数的多次开方这玩意儿真的很艰难和复杂吗?不,不是的。本文简明扼要地说明了你只要记忆极其有限的几个数据,就能解决看上去好像很复杂的多位数的多次开方问题,新技能Get!从此你也拥有神技。

多次方有时也叫做多次乘方,记为y=n^m,表示y等于m个n连乘,比如y=2^3=2×2×2=8。上面例子中的n称为底,m称为指数,y称为幂。多次方的计算指给定底n和指数m,求幂y。多次开方指给定幂y和指数m,求底n,公式可以用n=y^(1/m)表示。对数运算指给定幂y和底n,求指数m。比如说,1000=10^3,所以1000开3次方等于10,以10为底对1000取对数等于3,记为lg1000=3。lg就是表示以10为底的对数运算。

当指数m比较大时,通常计算幂比较困难,但是当底是10的时候会有例外,10^1=10,10^2=100,10^3=1000,这是因为我们使用十进制。我们可以记10^3为1E3,表示1后面三个零,4321就可以写为4.321E3,这称为科学计数法。对1E11取以10为底的对数就等于11。巧妙地利用对数,我们只需记住少量常数和借助简单的四则运算,就可以快速心算多次开方和多次方。下面先从多位数的多次开方讲起。

假如有一个任意位的多位数,例如123456789123456,如果只取两位有效数字,可以用科学计数法表示为12E13。假设我们要对它开n次方,比如19次方,根据我们上面的定义,y=12E13,m=19,n为未知数,记为n^19=12E13。下面示范如何通过三位数的四则运算求出开多次方结果。

我们先介绍一下本文用到的简单公式。(其实只有一个公式,后面二个是第一个的推论。)

lg(A×B)=lgA+lgB,(基本公式,两数乘积的对数等于两数对数之和),同时我们可以得到以下两个推广公式:

lg(A^B)=B×lgA,(推广公式一,A^B相当于B个A连乘,由基本公式,相当与B个lgA加起来)

10^(A+B)=10^A×10^B,(推广公式二,对公式两边取10为底的对数,左边=A+B,右边套用基本公式,等于lg(10^A)+ lg(10^B),也等于A+B)

此时,离我们用四则运算计算开方只差一点记忆,请记住如下数值:lg2=0.30,lg3=0.48,lg5=0.70,lg7=0.84,lg11=1.04,lg13=1.11,lg17=1.23,lg19=1.28。其实就是20以内的素数的对数值。

对n^19=12E13取以10为底的对数,左边根据推广公式一,等于19lgn,右边等于lg(3×2×2×1E13),根据基本公式,等于lg3+lg2+lg2+13(注意1E13取对数的结果就等于13)。于是,我们得到19lgn=0.48+0.30+0.30+13=14.08,所以lgn=14.08/19=0.74。因为lg5=0.70,lg6=lg2+lg3=0.78,而0.74差不多处于5和6的对数值中间,所以我们估算n=5.5。实际上,三位有效数字的计算结果为n=5.51。可以看到,除了将12拆为3×2×2外,为了得到两位精度的123456789123456开19次方,我们只需要心算三次加法和一次除法,以及一次估算。

从上面的例子可以看到,对于多位数123456789123456,我们只需要关心前两位12和多位数的总位数。12=3×2×2,如果遇到难以分解的两位数,我们可以换个数位,比如,lg(71E67)约等于lg(7E68)=lg7+68。上面的对数列表只列到19,如果能记住更多素数的对数值,我们的计算结果将更加准确。此外我们还可以心算非整数的对数值,以减少估算误差,比如lg3.5=lg(35/10)=lg35-1=lg5+lg7-1=0.54,lg4.5 =lg(45/10)=lg45-1=lg5+lg3+lg3-1=0.66。

现在再介绍多次方的心算技巧。对于y=n^m,就以n=11,m=21为例,计算11的21次方。我们依然从取对数开始,lgy=21×lg11=21×1.04=21.84(套用推广公式一),所以y=10^21.84=10^21×10^0.84(套用推广公式二),因为lg7=0.84,所以猜y=7E21。实际两位精度结果为y=7.4E21。为了得到数量级正确的11^21,我们只需要心算一次乘法,以及一次估算。比起开方,多次方的速算的重点在于数量级,第二位数值通常不可靠。

以上介绍的心算方法与华罗庚先生《天才与锻炼》所介绍的方法不同,《天才与锻炼》针对的是答案为整数的开多次方,本文章介绍的方法不局限于整数解,而是对任意多位数任意次方的心算。如果记住的对数值和相应位数越多,结果的精度越高。

作者:锁相