国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

小孩和我偶遇祖沖之計(jì)算圓周率之謎

2018-07-16 05:47:20鄒暢根鄒源清
數(shù)學(xué)通報(bào) 2018年6期
關(guān)鍵詞:祖沖之開方多位數(shù)

鄒暢根 鄒源清

(南京市北京東路小學(xué) 210008)

兒子幼兒園畢業(yè)后,帶他到南京東郊風(fēng)景區(qū)去玩,在景區(qū)的歷史文化展覽館,我們看到了祖沖之的雕像及關(guān)于他的介紹.我開玩笑讓小孩拜祖沖之為師,記住圓周率π在3.1415926到3.1415927之間,并要求他在7歲之前搞清π的含義.

為了搞清楚π,我?guī)『⒁黄鹩眉?xì)線量了樹干的周長,并在陽臺上畫了個(gè)半徑為1米的半圓如上圖,用細(xì)線測量π的值(誤差巨大).

原本要求小孩能理解圓周率π為圓的周長除以直徑,但后來發(fā)現(xiàn)這個(gè)要求太低,我改變計(jì)劃,要求他能用計(jì)算器算出π.

在小孩上小學(xué)一年級的時(shí)間里,教了他簡單的四則運(yùn)算,以及三角形特征、勾股定理等簡單的幾何學(xué)知識,重點(diǎn)是要小孩初步理解這些基礎(chǔ)知識,以便能理解祖沖之用割圓術(shù)計(jì)算圓周率的方法.

祖沖之采用更早的數(shù)學(xué)家劉徽的割圓術(shù)如右圖,以圓內(nèi)接正多邊形的面積及其外加一個(gè)矩形面積之和,雙向逼近圓的面積.

假設(shè)半徑為1的圓,它的內(nèi)接正n邊形的邊長AB為Xn、面積為Sn,內(nèi)接正2n邊形的邊長BC為X2n、面積為S2n,假設(shè)三角形ABC的面積為S△ABC,矩形ABEF的面積為S四邊形ABEF,圓的面積為S,那么

n·S△ABC=S2n-Sn,

n·S四邊形ABEF=2·(S2n-Sn)

由于圓的面積大于圓內(nèi)接正2n邊形面積、小于圓內(nèi)接正n邊形面積加n個(gè)矩形ABEF的面積,所以S2n

利用三角形面積公式,可以計(jì)算出四邊形AOBC的面積為AB·OC/2,所以

S2n=Xn·n/2 ,Sn=Xn/2·n/4 ,

因此圓周率π的范圍如下:

Xn·n/2<π

由于籌算比較費(fèi)時(shí)費(fèi)力,生于數(shù)學(xué)世家的祖沖之很清楚節(jié)省運(yùn)算量的重要性.上述推理僅用到了勾股定理,祖沖之利用數(shù)學(xué)家劉徽的割圓術(shù)計(jì)算圓周率,應(yīng)該很容易推出上述運(yùn)算量最少的計(jì)算方法,但越不過多位數(shù)的開方.

我們準(zhǔn)備用計(jì)算器開方來算出π,但是失敗了,用計(jì)算器居然無法計(jì)算出祖沖之算出的π,經(jīng)仔細(xì)分析后發(fā)現(xiàn),使用的計(jì)算器是12位的(例如3.12345678901,總計(jì)12位)、精度不夠,因此決定在網(wǎng)上買個(gè)16位的計(jì)算器.

網(wǎng)購的計(jì)算器需要3天后才能到貨,期間正好夾了個(gè)星期六和星期天,我決定帶兒子一起分析祖沖之是如何做運(yùn)算的.

經(jīng)互聯(lián)網(wǎng)搜索發(fā)現(xiàn):祖沖之生活的年代已經(jīng)用十進(jìn)制計(jì)數(shù),但阿拉伯?dāng)?shù)字還沒被傳入中國,算盤也沒有被發(fā)明出來,計(jì)算工具是小棍子,這些小棍子稱為算籌,用算籌做運(yùn)算的過程稱為籌算.祖沖之寫了一本書叫《綴術(shù)》,其中記錄了對圓周率的研究及成果,但后來這本書失傳了,祖沖之如何精確計(jì)算出圓周率成為未解之謎.小孩和我用計(jì)算器都算不出祖沖之用小棍子算出的π,我們更加佩服祖沖之!中國科協(xié)主辦的《科技導(dǎo)報(bào)》2008年第5期上,將“祖沖之究竟是怎樣計(jì)算出圓周率π值的?”列為公眾關(guān)注的18個(gè)未解科學(xué)難題之一.互聯(lián)網(wǎng)上有不少分析祖沖之是如何計(jì)算π的內(nèi)容,絕大部分都認(rèn)為計(jì)算很困難.祖沖之計(jì)算π真像有些文章描述的那樣“一雙手被磨出了厚厚的老繭”嗎?我決定帶兒子用小棍子來試一試.

我們在擺弄小棍子的過程中,16位計(jì)算器到貨了,借助于它幾分鐘就能將π算到祖沖之算出的3.1415926.經(jīng)過幾天的探索,我們發(fā)現(xiàn)用割圓術(shù)計(jì)算π的工作量遠(yuǎn)遠(yuǎn)沒有人們想象的那么大,如果不考慮探索研究的時(shí)間,在計(jì)算不出錯(cuò)、動(dòng)作快等前提下,籌算一兩天就能將π計(jì)算到祖沖之所達(dá)到的精度.

一個(gè)小于1的小數(shù)△的平方,例如0.052比0.05小很多,將它除以一個(gè)大于1的數(shù)之后則變得更小,假設(shè)對A開方,有個(gè)大于1的數(shù)B,B2與A接近、差值為△,則可以用如下逼近方法計(jì)算:

≈B+△/2B=B+λ.

利用上面的逼近方法,每次將B的精度多提升1個(gè)小數(shù)位、步長為λ,A的逼近值每次都可以精確計(jì)算出來,其值為B2+2·λ·B+λ2,每次逼近僅需對原值做2·λ·B+λ2修正,運(yùn)算量很小、而且很適合籌算.古代算籌可以有些變異,例如有人將小棍子染成不同的顏色、或采用不同的放置方法避免出錯(cuò),但實(shí)質(zhì)都是一樣的.在本文中,算籌采用如下方法表示0 ~ 9這10個(gè)數(shù)字.

為了便于用算籌做開方運(yùn)算,需要對開方過程中用的數(shù)值描述如下:

1.被開方值A(chǔ);

2.A的逼近值,“A的逼近值_前”為前一次的逼近值,“A的逼近值_后”為本次逼近運(yùn)算后的值;

3.開方值B,“開方值B_前”為前一次逼近的開方值,“開方值B_后”為本次逼近運(yùn)算后的值,它的平方精確等于“A的逼近值_后”;

4.除數(shù)D,對2·B(用開方值B_前)做四舍五入取整(或取2·B的整數(shù)位加1)得到除數(shù)D,取值范圍為4、5、6、7、8、9、10這7個(gè)數(shù)值之一(請看下面第7小點(diǎn)說明);

5.差值△,為被開方值A(chǔ)減去“A的逼近值_前”,可能為正或負(fù),以“開方值B_后”小數(shù)點(diǎn)最后一位為參考位,將被開方值及其逼近值做四舍五入取整后,再計(jì)算它們的差值;

6.步長λ,為△除以D后再做四舍五入取整,一般情況下λ小于等于5.由于D、△、λ都做了取整,因此有可能出現(xiàn)少量的情況下λ大于5,此時(shí)需要在不增加開方值B小數(shù)位的基礎(chǔ)上再做一次逼近,降低被開方值與其逼近值的差值,以避免λ超過5而引入2位數(shù)的乘法運(yùn)算(當(dāng)然,λ大于5也沒有關(guān)系,只是籌算2·λ·B略有不便);

7.上述開方運(yùn)算,對于區(qū)間 [ 3,25 )內(nèi)的任何數(shù),開方時(shí)僅會(huì)涉及到2位數(shù)除以1位數(shù)的除法以及多位數(shù)乘以1位數(shù)的乘法(乘除10因?yàn)楹芎唵尾挥?jì)入2位數(shù)乘除法).對于其他情況:區(qū)間(1,3)內(nèi)的數(shù)值可以先乘以4之后再開方;區(qū)間(25,100)內(nèi)的數(shù)值可以先除以4之后再開方;區(qū)間(0,1)內(nèi)的數(shù)值可以先乘以10的偶次方之后再開方;100以上的數(shù)值可以除以10的偶次方之后再開方.

只需要用2位數(shù)除以1位數(shù)的除法計(jì)算出步長λ及多位數(shù)乘以1位數(shù)的乘法、多位數(shù)的加減法,即可以按需要將開方的精度提升到任何所需的位數(shù),這樣的運(yùn)算對籌算而言比較簡單.下面舉例利用割圓術(shù)計(jì)算π過程中需要開方的一個(gè)數(shù),例如3.732050807568877,利用籌算對它進(jìn)行開方運(yùn)算,這是一個(gè)16位精度的數(shù),對它開方后也要精確到小數(shù)點(diǎn)后15位.

·開方值整數(shù)位計(jì)算

B取2最接近;A的逼近值為4.

·開方值小數(shù)點(diǎn)后第1位計(jì)算

如下圖,逼近值大于被開方值,步長λ為負(fù),除數(shù)D=2·B=4,

差值△≈40-37=3,

λ=△/D≈3/4,取λ=1,

2·λ·B=2·1·2=4,

λ2=1,

A的逼近值變?yōu)?4-4·0.1+1·0.01=3.61,

B變?yōu)?2-1·0.1 = 1.9.

·開方值小數(shù)點(diǎn)后第2位計(jì)算

如下圖,逼近值小于被開方值,步長λ為正,除數(shù)D=2·B≈4,

差值△≈73-61=12,

λ=△/D≈12/4, 取λ=3,

2·λ·B=2·3·1.9=11.4,

λ2=9,

A的逼近值變?yōu)?3.61+11.4×0.01+9×0.0001=3.7249,

B變?yōu)?.9+3×0.01=1.93.

·開方值小數(shù)點(diǎn)后第3位計(jì)算

如下圖,逼近值小于被開方值,步長λ為正,除數(shù)D=2·B≈4,

差值△≈32-25=7,

λ= △/D≈7/4,取λ= 2,

2·λ·B= 2×2×1.93=7.72,

λ2=4,

A的逼近值變?yōu)?.7249+7.72×0.001+4×0.000001 = 3.732624,

B變?yōu)?.93+2×0.001 = 1.932.

·開方值小數(shù)點(diǎn)后第4位計(jì)算

如下圖,逼近值大于被開方值,步長λ為負(fù),除數(shù)D=2×B≈ 4,

差值△≈26-21=5,

λ= △/D≈5/4,取λ=1,

2·λ·B=2×1×1.932=3.864,

λ2=1,

A的逼近值變?yōu)?.732624-3.864×0.0001+1×0.00000001=3.73223761,

B變?yōu)?.932-1×0.0001=1.9319.

從上述籌算過程可以看到,開方過程僅會(huì)涉及到如下計(jì)算:2位數(shù)除以1位數(shù)的除法及多位數(shù)乘以1位數(shù)的乘法(乘除10因?yàn)楹芎唵尾挥?jì)入2位數(shù)乘除法),多位數(shù)的加減法.重復(fù)上面的運(yùn)算很容易開方到第15位小數(shù)的精度,特別是籌算加減法無需要像我們常用的豎式運(yùn)算那樣還要重復(fù)抄寫一些數(shù)字、對齊小數(shù)位也比較方便,因此熟練籌算之后,籌算速度有可能達(dá)到甚至超過我們用阿拉伯?dāng)?shù)字豎式運(yùn)算.我試過籌算一次16位精度的開方大約需要1小時(shí),祖沖之籌算的速度一定比我快很多,因此如果不考慮任何探索性時(shí)間開支,僅考慮最小運(yùn)算量的情況下,祖沖之最快一天就可以將圓周率重新算一次,確定它在3.1415926與3.1415927之間.

下圖用阿拉伯?dāng)?shù)字更符合現(xiàn)代人們的理解習(xí)慣,從圖中可以很明顯地看到開方的正負(fù)雙向逼近過程.

3.000000000000000 (計(jì)算

3.732050807568877

3.931851652578136

3.982889722747621

3.995717846477207

3.998929174952731

3.999732275819123

3.999933067834802

3.999983266888701

3.999995816717800

經(jīng)過12次開方,得到:

=0.000000261455223,

=0.000000065363807.

再經(jīng)過2次開方,得到:

=0.000511326923797,

=0.000255663464343.

利用前面推導(dǎo)出計(jì)算圓周率π的不等式:

Xn·n/2<π

取n=24576,將X12288及X24576的值代入,可求得圓周率π的范圍:

3.141592649846784<π<3.141592679884800.

通過上述14次開方,計(jì)算出圓周率π介于3.1415926和3.1415927之間.上述計(jì)算結(jié)果都是我用16位精度的計(jì)算器算出的,計(jì)算過程保留小數(shù)點(diǎn)后15位,如果減少1位精度,那么計(jì)算出的圓周率上限值將超過3.1415927,因此祖沖之開方的時(shí)候最少要保留16位精度.

這個(gè)開方方法有點(diǎn)像二分法,只是引入步長λ評估從而一次增加1個(gè)小數(shù)位,同時(shí)充分利用了前面運(yùn)算的結(jié)果,每一步都確保開方值的平方精確等于被開方值的逼近值.與傳統(tǒng)手工開方法相比,它不需要多次試乘而引入多次乘法(通過試乘規(guī)避了解二次方程,但反復(fù)試驗(yàn)多位數(shù)乘1位數(shù)的運(yùn)算,會(huì)增加許多運(yùn)算量).這個(gè)開方過程雖然有較多次數(shù)的少位數(shù)加減法,但由于僅有2位數(shù)除以1位數(shù)的除法及多位數(shù)乘以1位數(shù)的乘法(乘除10因太簡單不計(jì)入2位數(shù)乘除),因此很適合原始的籌算(當(dāng)然也適合現(xiàn)代人用阿拉伯?dāng)?shù)字進(jìn)行手工開方).現(xiàn)代計(jì)算機(jī)的數(shù)字運(yùn)算,CPU實(shí)現(xiàn)多位乘除法(例如100位乘除100位)仍然具有困難,但實(shí)現(xiàn)多位的加減法卻可以較容易地變通實(shí)現(xiàn),利用上述開方方法,可用CPU快速實(shí)現(xiàn)多位數(shù)的高精度開方,在某些領(lǐng)域可能會(huì)有幫助,有興趣的讀者可以自行編寫這個(gè)高精度多位開方函數(shù).

為了說明籌算圓周率π不太困難,我拍了一個(gè)簡單的視頻影象放在互聯(lián)網(wǎng)上(www.iqiyi.com和www.youku.com),視頻的名稱為“兒子和我一起用小棍子精確計(jì)算圓周率”,內(nèi)含我和剛上完小學(xué)一年級的兒子用算籌(小棍子)進(jìn)行開方運(yùn)算,我假設(shè)祖沖之開方時(shí)精確到小數(shù)點(diǎn)后17位,讓小孩籌算一個(gè)18位有效數(shù)字(1個(gè)整數(shù)位,17個(gè)小數(shù)位)的開方值,精確到小數(shù)點(diǎn)后17位.

猜你喜歡
祖沖之開方多位數(shù)
素材集錦
讓祖沖之死不瞑目的《大明歷》
軍事文摘(2022年16期)2022-08-24 01:53:36
數(shù)字監(jiān)管 既能“看病”也能“開方”
多位數(shù)的組合
祖沖之
學(xué)習(xí)開方『四注意』
如何寫好多位數(shù)
祖沖之序列密碼算法
為公立醫(yī)院“虛胖”把脈開方
“另眼”待題
灌南县| 武鸣县| 大庆市| 和龙市| 大石桥市| 陇南市| 绍兴市| 邛崃市| 武强县| 彭山县| 原平市| 阳信县| 高碑店市| 卫辉市| 潮州市| 天峻县| 扎囊县| 西城区| 精河县| 巨鹿县| 新巴尔虎左旗| 丰顺县| 涟水县| 治多县| 泌阳县| 万盛区| 九龙县| 云安县| 五常市| 屯门区| 道孚县| 建宁县| 沭阳县| 澄迈县| 如皋市| 皮山县| 公安县| 叙永县| 桃江县| 浏阳市| 郧西县|