數播信箱
李怡嚴來函
編者先生:
剛收到 90 年 3 月出版的 「數學傳播季 刊」, 看到 p.82-86 有石厚高先生所寫的 「祖 沖之計算圓周率之謎」 一文, 提到需要計算數 萬邊的圓內接正多邊形; 而一部份開方根需 要準確到數萬位小數點。 現代有電腦, 以及能 夠處理許多位小數的 Mathematica 軟體工 具, 當然沒有問題。 可是我想也許不需要這樣 麻煩。 石先生的大文內給出由單位圓內接正 n 邊形的邊長 s(n) 求內接正 2n 邊形之邊 長時之遞迴公式:
s(2n)2 = 2 − [4 − s(n)2]0.5. (1) 如果用 t(n) 來代表單位圓外切正 n 邊形的 邊長, 則容易看出:
[4 − s(n)2][4 + t(n)2] = 16. (2) t(n) 可以用來求 π 的上限。 可是我想, 總有 人會嘗試去取 s(n) 與 t(n) 的平均, 看是否 可得較好的結果。 在嘗試多次以後, 也許會發 現, 取較偏重 s(n) 的平均會更好。 其實最好 是取 [2 × s(n) + t(n)]/3。 本來這就相當於 消去 sin 與 tan 三角函數指數級數的三次方 項。 我不敢期望古人會發現這一點, 可是祇要 有人想到嘗試各種平均值, 則比較 n 邊形與 2n 邊形的結果, 不難由試誤得出上述的組合 (即使不了解原因)。 用了這樣的組合, 不難將 多邊形的邊數, 與小數點的位數需求大量減
少。 我用老式的 Turbo-Basic 軟體的 Dou- ble Precision 程式試了一下。 由正四邊形開 始, 程式是:
10 DEFDBL A-C: DIM A(5), B(5), C(5) 20 A(1)=2-2^.5
30 A(2)=2-(2+2^.5)^.5
40 A(3)=2-(2+(2+2^.5)^.5)^.5
50 A(4)=2-(2+(2+(2+2^.5)^.5)^.5)^.5 60 A(5)=2-(2+(2+(2+(2+
2^.5)^.5)^.5)^.5)^.5 70 FOR N=1 TO 5:
B(N)=(16/(4-A(N)))-4:
C(N)=2^(N+1)*(2*A(N)^.5+B(N)^.5)/3 80 M=2^(N+2):
LPRINT M;"Sides - pi=";
C(N):NEXT N:END
結果是
:8 Sides - pi= 3.145547805608732 16 Sides - pi= 3.141829394196878 32 Sides - pi= 3.141607296173712 64 Sides - pi= 3.141593566385137 128 Sides - pi= 3.141592710602667
在上面的程式中
,我沒有 用遞迴式去算
A(N);如此我 可以利用
Turbo-Basic計算時 較
Double Precision多兩個小數 點位的特點。 不過無論如
89
90 數學傳播 25卷3期 民90年9月
何
,所有開方的準確度不 會超 過十八位。 可以看到 結果有多好
!由正六邊形 開始程式是
:10 DEFDBL A-C: DIM A(5), B(5), C(5) 20 A(1)=2-3^.5
30 A(2)=2-(2+3^.5)^.5
40 A(3)=2-(2+(2+3^.5)^.5)^.5
50 A(4)=2-(2+(2+(2+3^.5)^.5)^.5)^.5 60 A(5)=2-(2+(2+(2+(2+
3^.5)^.5)^.5)^.5)^.5 70 FOR N=1 TO 5:
B(N)=(16/(4-A(N)))-4 :
C(N)=2^N*(2*A(N)^.5+B(N)^.5) 80 M=3*2^(N+1):
LPRINT M; "Sides - Pi=";
C(N):NEXT N:END
結果是
:12 Sides - pi= 3.142349130544657 24 Sides - pi= 3.141639056219992 48 Sides - pi= 3.14159554040839 96 Sides - pi= 3.141592833808796 192 Sides - pi= 3.141592664850249
阿幾米得其實已經算過正 九十六邊形的周長。 可惜 他沒有發現上述這種三分 之二與三分之一的組合方 式
,不然
,他的結果會準很 多。 祖沖之是否發現了
?我 沒有可供判斷的資料。 可 是如果他真的發現了
,我 也不會很驚訝。
我 希 望 提 出 這 個 可 能 性供石先生參考。 最後
,我 想引一段書來表達我的感 想。 在錢大昕 「十駕齋養 新錄」 卷第十七
,竹汀先 生有一段筆記
:「古之九數
,圓周率三
,圓徑率一。
· · ·祖 沖 之更開密率
; · · ·指要精 密
,算氏之最者也。
· · ·用以 步天
,宜若確乎不可易矣。
予族子江寧教授唐
(號溉 亭
)獨疑之
:謂 「圓周曲線 也
,圓徑直線也
;以各等邊 線用句股法取其弦遞析之
,愈析愈 細
,終無合為一線 之理。 則所謂密率者
,猶未 密也
!今試以木製大圓輪
,其徑一丈
,以長竹篾刻尺 寸分秒度之
,得實周三丈 一尺六寸有奇
;乃知沖之 密率猶失之弱。 蓋以直求 曲
,勢必不能密合
;非算之 不精
,於理有未盡也。」 昨 元和李生銳
(字尚之
)告予 云
:「秦九韶 「數學九章」 卷 三
,環田三積問術
:以圓徑 自乘進位為實
,開平方得 周。 設徑一億
,依術推之
,得周三億一千六百二十二
萬七千七百六十六奇。」 與
溉亭之說合。 則古人已有
數播信箱 91
先覺者。」 錢大昕並非算學 專家
(雖然在考據中常插 入步算過程
),他的誤解可 以瞭解
;可是乾嘉時 「談天 三友」 之一的李銳應該知 道得更清楚
:不可能用十 的開方根表示圓周率。 否 則用一個句一股三的直角 三角形
,取其弦長就得圓 周率
!照理李銳應已有足 夠的極限知識了
,除非他 引秦九韶是為了迎合錢大 昕 。
李怡嚴
4/13/2001國立清華大學退休教授
石厚高覆函
敬啟者:
謝謝編輯部轉來李怡嚴教授看了拙著
「祖沖之計算圓周率之謎」 的迴應。 作者是得 不到掌聲的, 李教授把拙文看的這麼仔細, 又 設計電腦程式作驗證, 實感榮幸。 有興趣的讀 者可以對照拙文與李教授來函, 當然可以感 受到後者的作法非常高明, 至於祖沖之有沒 有想到, 那就不是芸芸眾生能知道的了。
此致
數播編輯部 順頌
編祺
石厚高啟 90.5.28