假设被开放数为a,如果用sqrt(a)表示根号a 那么((sqrt(x)-sqrt(a/x))^2=0的根就是sqrt(a)
变形得
sqrt(a)=(x+a/x)/2
所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值。
如:计算sqrt(5)
设初值为2
1)sqrt(5)=(2+5/2)/2=2.25
2)sqrt(5)=(2.25+5/2.25)/2=2.236111
3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068
这三步所得的结果和sqrt(5)相差已经小于0.001
1.将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开(竖式中的11’56),分成几段,表示所求平方根是几位数;
2.根据左边第一段里的数,求得平方根的最高位上的数(竖式中的3);
3.从第一段的数减去最高位上数的平方,在它们的差的右边写上第二段数组成第一个余数(竖式中的256);
4.把求得的最高位数乘以20去试除第一个余数,所得的最大整数作为试商(3×20除256,所得的最大整数是 4,即试商是4);
5.用商的最高位数的20倍加上这个试商再乘以试商.如果所得的积小于或等于余数,试商就是平方根的第二位数;如果所得的积大于余数,就把试商减小再试(竖式中(3×20+4)×4=256,说明试商4就是平方根的第二位数);
6.用同样的方法,继续求平方根的其他各位上的数.
如遇开不尽的情况,可根据所要求的精确度求出它的近似值.例如求 的近似值(精确到0.01),可列出上面右边的竖式,并根据这个竖式得到
笔算开平方运算较繁,在实际中直接应用较少,但用这个方法可求出一个数的平方根的具有任意精确度的近似值.