最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

手動(dòng)開(kāi)平方

2023-02-08 09:28 作者:shaleone  | 我要投稿

話題:#數(shù)學(xué)# #算術(shù)#

小石頭/文


大家在小學(xué)數(shù)學(xué)中一定都學(xué)過(guò)四則運(yùn)算的計(jì)算方法,但是說(shuō)到平方根計(jì)算方法,大家就不一定知道了。

實(shí)際上,早在秦朝,我國(guó)古代數(shù)學(xué)家就已經(jīng)發(fā)現(xiàn)了,用算籌開(kāi)平方的方法,這被記載在 《九章算術(shù)》中。后來(lái),魏晉大數(shù)學(xué)家 劉徽,還在用 一張圖(見(jiàn)圖1)給出了 開(kāi)平方的原理。

圖 1

接下來(lái),就讓小石頭 把 手動(dòng)開(kāi)平方的方法 介紹給大家。

■ 問(wèn)題:設(shè) A 是一個(gè)正整數(shù),求 A的帶余數(shù)平方根,即,求滿足,

A = a2 + r (r ≥ 0)

的 整數(shù) a 和 r ,a 取最大值 。


● 當(dāng) A較小 時(shí),我們可以從1開(kāi)始,通過(guò)不斷嘗試,找到滿足,

a2≤A<(a+1)2

的正整數(shù) a,就是所求平方根,然后計(jì)算出余數(shù),

r = A - a2? ①


● 當(dāng)A較大時(shí),用①方法,效率低下,這時(shí)可以考慮將 a 分為 a,b 兩部分,設(shè) b 部分的 位數(shù)為 n,則有,

a,b = a10? + b

進(jìn)而,有,

(a,b)2 = (a10? + b)2 = a2102? + 2(a10?)b + b2 = a2102? + ((2a)10? + b)b = a2102? + ((2a),b)b

于是,可以考慮將 A 也分為 A,B 兩部分,B 部分為 2n 位數(shù),即有,

A,B = A102? + B

這樣,余數(shù)為,

r = A,B - (a,b)2 = (A102? + B) - (a2102? + ((2a),b)b) = (A - a2)102? + B - ((2a),b)b

其中,可以通過(guò)①方法求得 a 以及,

r? = A - a2

于是,有,

r = r?102? + B - ((2a),b)b = r?,B - ((2a),b)b

至此,可以從1開(kāi)始,通過(guò)不斷嘗試,找到使得,

((2a),b)b ≤r?,B<((2a),(b+1))(b+1)

的 正整數(shù) b,從而 得到 平方根 a,b,最后計(jì)算出 余數(shù),

r = A,B - (a,b)2 ②

就可以了。


● 如果 A 還要大,則 可以將 a 分為 a,b,c 三部分,讓 b和c 都是 n位,有,

a,b,c = (a,b)10? + c

同時(shí),將 A 分為 A,B,C 三部分,讓 B 和 C 都是 2n 位,有,

A,B,C = (A,B)102? + B


然后,與上面類(lèi)似,可求得,

r = (A,B - (a,b)2)102? + C - ((2(a,b))10? + b)b

其中,可以通過(guò)②方法,求得 a,b 以及

r? = A,B - (a,b)2?

于是有,

r = r?102? + C - ((2(a,b))10? + c)c = r?,C - ((2(a,b)),c)c?


最后,類(lèi)似②方法,求得 正整數(shù) c,從而得到 平方根 a,b,c 和 余數(shù),

r = A,B,C - (a,b,c)2?


★ 總結(jié): 這樣,對(duì)于任意大的正整數(shù) A 都可分為 A?,A?,...,A?,其中 除了 A?(小于等于 2n 位)外,其它 A?,...,A? 都是 2n 位,同時(shí) 將 a 分為 a?,a?,...,a? ,其中 除了? a?(小于等于 2n 位)外,其它? a?,...,a? 都是 n 位,然后,

* 通過(guò)①方法方法 可以 計(jì)算出 a? 以及 r? = A? - a?2;

* 歸納假設(shè),已經(jīng)計(jì)算出了 a?,...,a??? 以及? r??? = A?,...,A??? - (a?,...,a???)2,于是有,

r? = (A?,...,A??? - (a?,...,a???)2)102? + A? - ((2a?,...,a???),a?)a? = r???,A? - ((2(a?,...,a???)),a?)a??

用 ② 方法,可求得 a? 以及 r?;

通過(guò)歸納的方法,最終這求得,

平方根 a = a?,...,a?

余數(shù) r = r??


■ 問(wèn)題:對(duì)于任意 正小數(shù)A,求平方根a。

☆ 可以將 A 分為 A?,A?,...,A?.A???,A???, ... 其中除A?外,其它部分都是 2n 位數(shù)(小數(shù)位數(shù)若不夠,可以補(bǔ)零),同時(shí) 將 a分為 a?,a?,...,a?.a???,a???,...,其中除a?外,其它部分都是 n 位數(shù),然后按照 上面的歸納方法,遞歸到 需要的精度的 小數(shù)位數(shù) e 即可,此時(shí)有:

a = a?,a?,...,a?.a???,a???,...,a?

以上,就是手動(dòng)開(kāi)平方的原理。


實(shí)際運(yùn)算中 取 n = 1,并使用豎式進(jìn)行運(yùn)算(見(jiàn)圖2),

圖 2

具體步驟如下:

⒈ 從小數(shù)點(diǎn)起,向兩邊,將A按照兩位一組,分成 A?,A?,A?,...,A?.A???, ...,其中 A? 可能不足兩位;

⒉ 以 A? 為目標(biāo), 嘗試 1 到 9,找到 滿足:

◆ 乘方 小于等于 目標(biāo),即, a?2 ≤ A?;

的 a? 最大值 ,并計(jì)算出余數(shù) r?;

⒊? 將 余數(shù) r? 與 A? 拼在一起得到? r?,A?,以其為目標(biāo),嘗試 1 到 9,找到 滿足:

◆? 拼接 2×a? 后 乘以 自己 小于等于 目標(biāo),即,(2×a?),a? × a?? ≤? r?,A? ;

的 a? 的最大值,并計(jì)算出余數(shù) r?;

⒋ 將 余數(shù) r? 與 A? 拼在一起得到 r?,A?,以其為目標(biāo),嘗試 1 到 9,找到 滿足:

◆? 拼接 2×(a?,a?)? 后 乘以 自己 小于等于 目標(biāo),即,(2×a?),a? × a?? ≤? ?r?,A?;

?的 a? 的最大值,并計(jì)算出余數(shù) r?;

⒌ ... ...?

...?

圖3 是一個(gè)實(shí)際的例子。

圖 3

最后,用類(lèi)似的原理,還可以 分析出來(lái) 手動(dòng)開(kāi)立方根 的方法,大家有興趣可以自己試一試。



附錄:

以上手動(dòng)開(kāi)平方算法的 JavaScript 代碼描述如下,


(原本是法動(dòng)態(tài)的,結(jié)果字?jǐn)?shù)超了,所以 文章 和 代碼 都寫(xiě)的比較亂,大家湊合看??)



手動(dòng)開(kāi)平方的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南昌市| 包头市| 陆丰市| 龙江县| 浦城县| 鄂尔多斯市| 普陀区| 时尚| 福贡县| 综艺| 武胜县| 思茅市| 清涧县| 永昌县| 屏东市| 凭祥市| 东阳市| 刚察县| 洛宁县| 大港区| 沙坪坝区| 姚安县| 江都市| 永平县| 福建省| 山东省| 山东| 高阳县| 贵港市| 长治县| 永兴县| 静海县| 威海市| 思茅市| 黎川县| 遂宁市| 扬中市| 虞城县| 荥经县| 汶上县| 邵东县|