手机用户12030597234
算盘不会用哈,所以教不了你。但可以介绍笔算开平方法。
笔算开平方法
一、开方的计算步骤
1.以小数点为分界线,向左向右将被开方数每隔两位划为一段。
如:7’85’67,1.61’23,10.12’3等。
2.根据左边第一段里的数,求得平方根的最高位上的数。
如:
7’85’67,左边第一段是7,介于2-3的平方之间,取2。
1.61’23,左边第一段是1,就是1的平方,
10.12’3,左边第一段是10,介于3-4的平方之间,取3。
3.用第一段的数减去最高位上数的平方,再把右边一段得两位数下来,不足两位补0。如同除法运算。
如:7’85’67,7减2的平方4=3,再把85下来,组成385,作为余数。此时的商只有一个2。
4.把求得的最高位数乘以20去试除第一个余数,所得的最大整数作为试商。
如:7’85’67,第一个余数是385,商2。
用20×2+_(暂时空着),试除第一个余数385,最多只能上8,8填入横线上。就是20×2+8=48,用48×8(试商是8)=384,385-384=1,第二个余数是1,此时的商是28。
5.再下拉两位,用同样的方法。
如:7’85’67,第二个余数是1,下拉67,组成167,此时商28。
……
二、图示说明
用心生活用心工作
直接用算盘开平方的方法在明朝朱大位的《算法纂要》中就有记载,不过在今天看来,有点烦琐。下面介绍一种用珠法开平方的简便算法——无限逼近法
无限逼近法的原理很简单,就是我们常用的完全平方公式。
(a+b)² = a²+2ab+b²
当 b远小于a时,b²可以忽略。即
(a+b)² 约等于 a²+2ab=a(a+2b)
例如求432的算术平方根
先估算a,我们知道20的平方是400,所以可以先令a=20
即432约等于20(20+2b)
可以算出b=0.8
如果要得到更高的精神则可以进一步往下算
432=(20.8+b)² = 20.8(20.8+ 2b)
可以求出b=-0.01538
432的算术根是20.8-0.01538=20.7846
一步一步向下算就可了
如果a取得足够准确,计算量就会少许多
37651的算术平方根
我们知道37651接近200*200=40000,所以可以先选a=190试试
37651=(190+b)²约等于190(190+2b)
b=4.0816
为了简便可以令b=4
则
37651=(194+b)²约等于194(194+2b)
b=0.03866
就可以求出37651的算术平方根是194.03866
b也可以是负数,如求85264的算术平方根
这个数接近90000,可以选a=300
则85264=300*300+2*300b
b=-7.893
可以取b=-8接着算
取a=300-8=292
85264=292*292-2*292b
算出b=0
所以85264的算术平方根是292+0=292
总结,这种算法的要点
1、整数a的选取尽量接近原平方根,比如较大的数据的平方根估值,可用尾数是0、5试算后再选更接近的。
2、如果求出的b值是整数后带小数,为了计算方便可以取最接近的整数
3、根据精度要求,可以一步步逼近要求的位数。
4、(a+b)² 约等于 a²+2ab=a(a+2b)后面提取a(a+2b)是考虑计算机编程方便。在实际计算中直接用(a+b)² 约等于 a²+2ab就可以了,没有必要后拖一步。
湍水钓叟
有一个简单的迭代法求平方根,只需要几步,就可以达到很高的精度,
如果x^2=C,
设x(0)为x初始猜测值,则根据猜测值可以计算,x(1)=0.5*[x(0)+C/x(0)],如法炮制,
x(n+1)=0.5*[x(n)+C/x(n)],n=0,1,2,...
直到满足要求为止。
一般,五次迭代可以满足工程需要。