筆算開方
筆算開平方法,用這個方法可以求出任何正數的算術平方根。
(並非是近似值,而是精確值)
原理:
方法可簡記為——二十倍初商加試商
預備:
下面具體來講一下計算步驟:
-
以小數點為起點,將被開方數的整數部分和小數部分分別以2位為一組分隔(整數從右往左分,小數從左往右分,不足則用0補齊),分成n段,則表明所求平方根是n位數
-
確定平方根的第一位:最大平方數。在不超過第一組數中取最大數x(1..9),將x作為除數和第一組的商,求出開方余項(第一組余數+第二組)
-
再求平方根第二位:假設第二位為a,取算式
估計出a的最大值(此為試商),使得
結果不大於開方余項。新的除數與新商得出乘積,算出新的余數
-
把下一組數補齊到新余數后,重復步驟3
-
小數點對齊,運算至所需精度
這樣講述顯得蒼白無力(有一個大概印象即可),我們直接看例子:
例如對105625進行開方:
首先對105625進行分段,從右往左每兩位數字分為1段,也就是10,56,25三段數字。先算出平方根的第一位數字,在平方不超過10的數字里取最大的,比如1的平方為1,2的平方為4,3的平方為9,4的平方為16,16已經超過10了,1,2,3的平方都比10小,那平方根首位數字取3,因為 1,2,3當中3最大
10-3的平方=1,將被開方數第二段數字補上去,得到156。現在算平方根第二位數字。假設這第二位數字為a,取算式a*(20*3+a),式子中20是一個固定不變的數(不論被開方數是多少)3就是剛剛計算出的平方根的首位數字。對a的值進行估計,使得 a*(20*3+a)不超過156。取a=1,a(20*3+a)=61,a=2時a(20*3+a)=124,a=3時 a*(20*3+a)=189,189已經超過156,所以a在1,2之間取值取最大的一個數,也就是2,平方根的第二位數字就是2了
a(20*3+a)=124,62 乘以平方根第二位數字,也就是62*2=124,156-124=32,將被開方數第三段數字補上去,得到3225,與前面類似,取算式 b(20*32+b),式子中20還是固定不變的數字,32是剛剛算出的平方根的前兩位數字,對b取值,使得b(20*32+b)不超過3225,由計算 可知b=5,平方根第三位數字即為5
如果平方根還有第四位數字,或者更多,假設325后面還有第四位數字,算第四位數字時取算式 a(20*325+a),式子中的325即是已經算出的平方根的幾位數字,后面算法都跟前面類似。對於被開方數是小數,分段時要注意,比如計算1.323 的平方根,它的小數位有3位,位數是奇數個,要補一個0上去,即1.3230,然后從左往右每兩位數字分為一段。比如開方數是3.7478,小數位有4位數字,是偶數個位數,不用補0,可以直接分段,小數和整數的開方計算方法是一樣的。
練習:
上述筆算開方方法是我們大多數人上學時課本附錄給出的方法,實際中運算中太麻煩了。我們可以采取下面辦法,實際計算中不怕某一步算錯!!!而上面方法就不行。
比如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
對於那些開方開不盡的數,用這種方法算兩三次精度就很可觀了,一般達到小數點后好幾位。
實際中這種算法也是計算機用於開方的算法