『壹』 笔算开平方法的算法从何而来
根据完全平方公式来的:(a+b)^2=a^2+(2a+b)b,(a+b+c)^2=a^2+(2a+b)b+(2a+2b+c)c,...余仿此。因为开平方后若为不尽根(即含无限小数),都可表示为d+e/10+f//100+g/1000+...
『贰』 笔算开方公式(竖式)
以上
『叁』 如何笔算开方
述求平方根的方法,称为笔算开平方法,用这个方法可以求出任何正数的算术平方根,它的计算步骤如下:
1.将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开(竖式中的11'56),分成几段,表示所求平方根是几位数;
2.根据左边第一段里的数,求得平方根的最高位上的数(竖式中的3);
3.从第一段的数减去最高位上数的平方,在它们的差的右边写上第二段数组成第一个余数(竖式中的256);
4.把求得的最高位数乘以20去试除第一个余数,所得的最大整数作为试商(3×20除
256,所得的最大整数是
4,即试商是4);
5.用商的最高位数的20倍加上这个试商再乘以试商.如果所得的积小于或等于余数,试商就是平方根的第二位数;如果所得的积大于余数,就把试商减小再试(竖式中(20×3+4)×4=256,说明试商4就是平方根的第二位数);
6.用同样的方法,继续求平方根的其他各位上的数.
徒手开n次方根的方法:
原理:设被开方数为X,开n次方,设前一步的根的结果为a,现在要试根的下一位,设为b,
则有:(10*a+b)^n-(10*a)^n<=c(前一步的差与本段合成);且b取最大值
用纯文字描述比较困难,下面用实例说明:
我们求
2301781.9823406
的5次方根:
第1步:将被开方的数以小数点为中心,向两边每隔n位分段(下面用'表示);不足部分在两端用0补齐;
23'01781.98234'06000'00000'00000'..........
从高位段向低位段逐段做如下工作:
初值a=0,差c=23(最高段)
第2步:找b,条件:(10*a+b)^n-(10*a)^n<=c,即b^5<=23,且为最大值;显然b=1
差c=23-b^5=22,与下一段合成,
c=c*10^n+下一段=22*10^5+01781=2201781
第3步:a=1(计算机语言赋值语句写作a=10*a+b),找下一个b,
条件:(10*a+b)^n-(10*a)^n<=c,即:(10+b)^5-10^5<=2201781,
b取最大值8,差c=412213,与下一段合成,
c=c*10^5+下一段=412213*10^5+98234=41221398234
第4步:a=18,找下一个b,
条件:(10*a+b)^n-(10*a)^n<=c,即:(180+b)^5-180^5<=41221398234,
b取最大值7
说明:这里可使用近似公式估算b的值:
当10*a>>b时,(10*a+b)^n-(10*a)^n≈n*(10*a)^(n-1)*b,即:
b≈41221398234/n/(10*a)^(n-1)=41221398234/5/180^4≈7.85,取b=7
以下各步都更加可以使用此近似公式估算b之值
差c=1508808527;与下一段合成,
c=c*10^5+下一段=1508808527*10^5+06000=150880852706000
第5步:a=187,找下一个b,
条件:(10*a+b)^n-(10*a)^n<=c,即:
(1870+b)^5-1870^5<=150880852706000,
b取最大值2,差c=28335908584368;与下一段合成,
c=c*10^5+下一段=2833590858436800000
第6步:a=1872,找下一个b,
条件:(10*a+b)^n-(10*a)^n<=c,即:
(18720+b)^5-18720^5<=2833590858436800000,
b取最大值4,差c=376399557145381376;与下一段合成,
c=c*10^5+下一段=37639955714538137600000
.............................
最后结果为:18.724......
『肆』 笔算开平方怎么算
先求高位,再用求解的方式,求得低位。
根据两数和的平方公式,可以得到:
1156=(30+a)^2=30^2+2×30a+a^2,
所以 1156-30^2=2×30a+a^2,
即 256=(30×2+a)a,
这就是说, a是这样一个正整数,它与30×2的和,再乘以它本身,等于256。
为便于求得a,可用下面的竖式来进行计算:
根号上面的数3是平方根的十位数.将 256试除以30×2,得4(如果未除尽则取整数位).由于4与30×2
的和64,与4的积等于256,4就是所求的个位数a。
竖式中的余数是0,表示开方正好开尽。
于是得到 1156=34^2, 或√1156=34。它的计算步骤如下。
开方的计算步骤:
1.将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开(竖式中的11’56),分
成几段,表示所求平方根是几位数。
2.根据左边第一段里的数,求得平方根的最高位上的数(竖式中的3)。
3.从第一段的数减去最高位上数的平方,在它们的差的右边写上第二段数组成第一个余数(竖式中的256)。
4.把求得的最高位数乘以20去试除第一个余数,所得的最大整数作为试商(3×20除256,所得的
最大整数是 4,即试商是4)。
5.用商的最高位数的2倍加上这个试商再乘以试商.如果所得的积小于或等于余数,试商就是平方
根的第二位数;如果所得的积大于余数,就把试商减小再试(竖式中(3×20+4)×4=256,说明试
商4就是平方根的第二位数)。
6.用同样的方法,继续求平方根的其他各位上的数。
如遇开不尽的情况,可根据所要求的精确度求出它的近似值.例如求 的近似值(精确到0.01),可
列出上面右边的竖式,并根据这个竖式得到。
笔算开平方运算较繁,在实际中直接应用较少,但用这个方法可求出一个数的平方根的具有任意精
确度的近似值。
(4)笔算开方算法参考文献扩展阅读:
开立方运算:
设A = X^3,求X称为开立方。 开立方有一个标准的公式:
例如,A=5,,即求
5介于1的3次方;至2的3次方;之间(1的3次方=1,2的3次方=8)
初始值X0可以取1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,都可以。例如我们取X0 = 1.9按照公式:
第一步:X1=1.9+(5/1.9^2;-1.9)1/3=1.7
即5/1.9×1.9=1.3850416,1.3850416-1.9=-0.5149584,-0.5149584×1/3=-0.1716528,1.9+
(-0.1716528)=1.7。即取2位数值,,即1.7。
第二步:X2=1.7+(5/1.7^2;-1.7)1/3=1.71
即5/1.7×1.7=1.73010,1.73-1.7=0.03,0.03×1/3=0.01,1.7+0.01=1.71。取3位数,比前面多
取一位数。
第三步:X3=1.71+(5/1.71^2;-1.71)1/3=1.709
第四步:X4=1.709+(5/1.709^2;-1.709)1/3=1.7099
『伍』 笔算开方~~~~~
不等式法
以√6为例。稍加估算就知道 0<√6-2<1/2
三边平方得0< 10-4√6<1/4,此时10/4 >√6 > 10/4 -1/4/4,即2.5>√5>2.5-1/4/4
再平方,0<196-80√6<1/16,此时196/80 >√6 >196/80 -1/16/80即2.45√2 >2.449218
……每平方一次,小数点后的精确位数就乘2(灰色字是准确的数位),这是相当好的,可是你将要面对恐怖的天文数字。
另一种优化的方法: 佩尔方程与渐近分数结合
上面的方法虽然简单,可是数字大,而且算出来的不是渐近分数,如果用渐近分数能把计算过程中的数字减少一点。
以√5为例,考虑佩尔方程x^2-5y^2=1的所有正整数解(x,y),x/y都是√5的渐近分数。
假设其中一组解是(x,y),再设x'-√5y'=(x-√5y)n,同样地x'/y'也是√5的渐近分数。
上面两条结论的证明在此略去。根据上面结论,而且不难找到9^2-5*4^2=1,于是
(9-4√5)^2=161-72√5,√5约等于161/72=2.236111
(161-72√5)^2=51841-23184√5, √5约等于51841/23184=2.2360679779158
从连分数的性质可以估算出误差小于分母的平方的倒数。如上面的51841/23184,误差小于1/231842=1.8605×10^-9
但是这种方法的缺点是要解出佩尔方程。其实解佩尔方程x^2-dy^2=1不需要狂试数,把√d化成连分数。把二次根式展成连分数是挺容易的,在这里我不再作展开啦,有兴趣的话可以到网上找找看。
泰勒公式,跟牛顿二项式差不多,考虑函数x^(1/2),这里略。
迭代法
假设我们已经有一个较好的初值x,x²≈n,
设修正值为a,即(x+a)²≈n,x²+a²+2ax≈n,忽略很小的a²,即x²+2ax≈n,
从而a≈(n-x²)/(2x),x+a≈(n+x²)/(2x)
把(n+x²)/(2x)的值从新代替x,将得到更好的精确值,下面证明0≤|( (n+x²)/(2x) )²-n| < |x²-n|
现在如果其中一个迭代值x>√n那么
(n/x +x)/2<(x²/x +x)/2 =x又
(n/x +x)/2≥√n (基本不等式)
于是迭代数列是有下界的递减数列,也就是结论了。
类似地,如果x<√n则n/x +x≥√n回到前一种情况,如果x很接近0,这时候结论可能会不成立,所以结论要修正一下-_-~~,但是得到新的迭代值后一齐正常,不影响迭代。可以说,对任何正数作初值依然能存在极限。
这极限自然是√n。
关于这个迭代法也有别的证明。
二倍开平方法
广西平南 陈信成 [email protected]
我的网络空间是:http://hi..com/cxczzz
我以前以为自已自创了笔算开平方方法,现在上网一看,类似的方法早就
已经有了,但还是把自己的方法贴出来,希望大家继续改进,以后能像计算除法一样开平方。
一.解任意数 7859.87的平方根
先移位,后计算,本位估平方,前面估相乘。
第一步移位成为1~100之间的数:
7859.87移位后得78.5987
第二步计算:
16 16 12 10 10 每个结果数都要和前面的
8. 8 6 5 5 二位结果数相乘加自己的平方
———————
7 8.5 9 8 7
6 4 8的平方小于78
————————
1 4 5.9 8 7
1 2 8 16*8+8*8/10<145.987
6 4
————————
1 1 5.8 7
9 6 16*6+16*6/10+6*6/100
9 6 <115.87
3 6
————————
9 9.1
8 0 16*5+16*5/10+12*5/100
8 0 +5*5/1000<99.1
6 0
2 5
—————————
1 0 4.7 5 余数,余数点号退1位
8 0 第一个前面相乘,16*5=80
8 0 第二个前面相乘,16*5=80
6 0 第三个前面相乘,15*5=60
5 0 第四个前面相乘,10*5=50
2 5 本位平方,5*5=25
———————————
1 6 0.9 7 5 余数,余数点号退1位
结果四舍五入保留小数点后面3位,8.867
余数点号退一位划清各个数的位。
余数小于二倍结果数用来检验结果是否正确,二倍结果数是几个数的叠加
第三步结果数移位: 8.867移位后得 88.67
『陆』 如何笔算开方
用二分法罗
如求2的开方,取X为1,Y为2,则M就等于(X+Y)/2=1.5,1.5*1.5-2>0 则令Y等于M=1.5,X仍然为1,这个时候M=(X+Y)/2,M=1.25,因为1.25*1.25-2<0,所以令X等于M=1.25。这个时候又继续M等于(X+Y)/2,判断,赋值!!
这样就可以算到你要的精确值了!!
『柒』 怎样进行笔算开方
上述笔算开方方法是我们大多数人上学时课本附录给出的方法,实际中运算中太麻烦了。我们可以采取下面办法,实际计算中不怕某一步算错!!!而上面方法就不行。
比如136161这个数字,首先我们找到一个和136161的平方根比较接近的数,任选一个,比方说300到400间的任何一个数,这里选350,作为代表。
我们计算0.5*(350+136161/350)得到369.5
然后我们再计算0.5*(369.5+136161/369.5)得到369.0003,我们发现369.5和369.0003相差无几,并且,369^2末尾数字为1。我们有理由断定369^2=136161
一般来说能够开方开的尽的,用上述方法算一两次基本结果就出来了。再举个例子:计算469225的平方根。首先我们发现600^2<469225<700^2,我们可以挑选650作为第一次计算的数。即算
0.5*(650+469225/650)得到685.9。而685附近只有685^2末尾数字是5,因此685^2=469225
对于那些开方开不尽的数,用这种方法算两三次精度就很可观了,一般达到小数点后好几位。
实际中这种算法也是计算机用于开方的算法