25110 祖沖之計算圓周率之謎
祖沖之計算圓周率之謎

他是由圓內接、外切正方形算起

拙著「祖沖之何以偉大」發 表於民國七十七年三月出版的「數學傳播45」, 本文第一天寄出給數播編輯部, 第十一天收到「採用」通知, 是筆者投稿「數播」接到回音最快的一次, 成就感十足, 通常都要一個月至半年。想必是有些創見所以很快就通過了。 十二年過去了, 未見讀者提出異議。這些年我把祖沖之的偉大介紹給學生, 教室裡多次歡聲動地反應熱烈。不過十二年來, 除了另有更重大的發現, 也找出「祖」文不妥之處。

民國七十六年一月間, 我發現了祖沖之的偉大。當時是在十分偶然的情況下發現的。 說來好笑, 我在下課休息的十分鐘時間裡, 看到國立編譯館所編高三理科數學教學指引(上)第六十八頁的說法, 一般人以為祖沖之大概也只能使用劉徽的割圓術, 算到圓內接正24576邊形時, 圓周率正確至小數後七位。引發靈感撰就「祖」文, 其中提到祖沖之求得圓周率小數後的第七位正確值, 是先把正六邊形的邊長計算至小數後28,672位, 這裡不妥。 因為圓內接正六邊形的邊長等於半徑1, 所以不必算它。 這一點我當時為文沒有注意到, 審稿人也沒有想到。 不過就以求圓周率而論, 祖沖之的偉大決不侷限於把一個數的平方根求至小數後第28,672位, 他實在作的太辛苦了。

圓周率是內接正多邊形周長與直徑之比, 算到24576邊形邊長才正確到小數後七位, 所以算到12288邊形時, 邊長要正確到小數後14位$\cdots$, 因為一數開平方, 要二位才能得到平方根一位。 所以在「祖」文裡列出了 表a。 最近又發現, 根據理科數學(上)祖沖之算到圓內接與外切正16,384邊形得圓周率為3.1415926, 仿「祖」文列出 表b, 原來他是由正方形作起。

表a. 根據理科數學(上)算到16384邊形
圓內接正多邊形邊數 小數點後正確位數
$16384$
$~8192$
$~4096$
$~2048$
$~1024$
$~~512$
$~~256$
$~~128$
$~~~64$
$~~~32$
$~~~16$
$~~~~8$
$~~~~4$
$~~~~7$
$~~~14$
$~~~28$
$~~~56$
$~~112$
$~~224$
$~~448$
$~~896$
$~1792$
$~3584$
$~7168$
$14336$
$28672$

此段摘自「祖」文

表 b. 根據理科數學教學指引(上)算到24576邊形
圓內接正多邊形邊數 小數點後正確位數
$24576$
$12288$
$~6144$
$~3072$
$~1536$
$~~768$
$~~384$
$~~192$
$~~~96$
$~~~48$
$~~~24$
$~~~12$
$~~~~6$
$~~~~7$
$~~~14$
$~~~28$
$~~~56$
$~~112$
$~~224$
$~~448$
$~~896$
$~1792$
$~3584$
$~7168$
$14336$
$28672$

請大家看由單位圓內接正 $n$ 邊形求內接正 $2n$ 邊形之邊長時之遞迴公式 $$s_{2n}=\sqrt{2-\sqrt{4-s_n^2}}\quad \hbox{可得}$$ 由內接正6邊形邊長求內接正12邊形之邊長時, 正六邊形方邊長以1代入時, 先要把 $4-1^2=3$ 的平方根求至28,672位, (不是把正六邊形的邊長計算至小數後28,672位)才能把內接正12邊形之邊長求至小數後 14,336位; 再由內接正12邊形邊長求內接正24邊形之邊長時, 先求正12邊形邊長之平方, 得小數後28,672位, 4減去這個結果仍然是28,672位小數, 再開平方又得小數14,336位, 由2減去這個結果仍然是14,336位小數, 再開平方得內接正24邊形之邊長至14,336位小數, 如此繼續, 天啦! 列個表看看

內接正 $n$ 邊形 邊長小數位數運算
6 0
0
28,672
28,672
14,336
平方
作減法
求平方根
作減法 $\cdot$ 再求平方根
  得內接正12邊形之邊長至小數位數
12 14,336
28,672
28,672
14,336
7,128
平方
作減法
求平方根
作減法 $\cdot$ 再求平方根
  得內接正24邊形之邊長至小數位數
24 7,128
$\cdots$
平方

算到第七位實在太累了, 所以他說我好累我好累, 只能作到這裡了「以俟能言者」, 「俟」就是等待的意思, 以後再等中華民族資優男青年或資優女青年來作吧! 說得多麼無奈又無助啊。 上面的表也一樣告訴我們他是多麼的辛苦。

如果祖沖之是由正方形開始作如表 a, 好像也是把正方形的邊長求到小數後 28,672 位, 其實不必要, 而是把 $4-\sqrt {2}^2=2$ 的平方根求至小數後28,672位, 其它的討論又和前面的一樣了。

一般教科書或坊間參考書或數學史都沒有提到這一點, 這是很了不起的成就, 困難之處除了上述多次開平方至萬位、千位、百位、數十位之外, 另有五項困難。

他不會寫阿拉伯數字, 阿拉伯數字清末民初才傳入我國, 所以他不論用一、二、$\cdots$ 或壹、貳、參$\cdots$ 都麻煩得不得了, 此其一; 他也不會打算盤, 算盤到十二世紀才出現, 他用的是算籌, 此其二; 他自已一個人作的而不是團隊(team work)作業, 像修鐵路一樣, 甲隊修基隆至台北, 乙隊修台北至台中 $\cdots$ 開平方是不能"分工合作"的, 此其三; 他至少作了四遍, 作一遍再驗算一遍, 由內接逼近要作二遍, 再由外切逼近又要作二次是其四。 他沒有鋼筆、鉛筆、原子筆只有毛筆, 毛筆寫起來是多麼的麻煩是其五。

這麼多年為甚麼沒有人發現祖沖之的秘密, 我想原因有二。 以往從未有人發現是其一, 以往有人發現可是沒有寫下來或發表在報章雜誌上。 我想應該是後者, 這不是筆者謙虛, 應該是很正常的情況。

法國巴黎的「發現宮」科學博物館有先生大名與他所發現的圓周率值並列。 他又曾算出月球繞地球一周為時27.21223天, 與現代公認的27.21222天在小數後第五位才相差為一, 在那個時代能有這麼偉大的成就, 實在讓人佩服。難怪西方科學家把月球上很多火山口中的一個命名為「祖沖之口」。 莫斯科國立大學大禮堂廊壁上, 用彩色大理石鑲嵌的世界各國著名科學家肖像, 列有中國的祖沖之和李時珍。祖氐有這麼傑出的表現, 我們不能不對他稍有認識。

祖沖之著有「綴術」一書專事探討求圓周率, 可惜已失傳, 失傳的原因隋書律曆志倒是透露了一絲玄機「學官莫能究其深奧, 是故廢而不理」到了宋朝居然有人用「綴術」來練大字, 實在是匪夷所思。「周髀算經」裡說「徑一周三」, 意指「直徑是一則圓周長為三」, 多年來中外數學家都在探索圓周長與直徑之比, 一部「圓周率發展史」實際上可以看作是人類科技發展史。

祖沖之一千四百多年前求圓周率的近似值, 花了多少時間算得多麼艱苦多麼孤獨。 作完之後想找人談談又無人可談, 因為沒有人懂又是多麼的寂寞; 如果我的猜測沒有錯, 那我就是祖沖之一千四百多年後的知音了, 他可以含笑九泉了。

以上文字完成於民國88年11月11日, 略有更正。 原題為「我發現了祖沖之的秘密」審稿人覺得筆者的猜想很有趣, 但指出「作者未能提出更強或直接的證據前, 不宜把它當成事實。題目也宜改為"祖沖之計算圓周率之謎"。 12月22日收到建議, 就以手邊幾部數學史找資料, 雖然沒有找到「更強或直接的證據」, 可是在李子嚴著「中算史論叢(二)」的「明清算家之割圓術研究」一章裡看到四個表, 它們是「圓內容四邊起算」「圓外切四邊起算」、「圓內容六邊起算」與「圓外切六邊起算」。 其中「圓內容六邊起算」就是「從圓內接正六邊形開始算」, 餘類推。從這個表裡, 可以肯定祖沖之是從圓內接正四邊形與外切正四邊形也就是正方形開始算的, 圓半徑為一。這四個表佔了原書六面, 我每個表只引用三行。

第一表 圓內容六邊起算



(1)
(2)
邊數 每   邊   長
$~~~~6 $
$24576 $
$49152 $
$100,00000,00000.00000,00000,00000,00000,00000,00$
$2556,63463.95130,94805,23449,01114,10631,76$
$1278,31732.23676,62618,69476,46404,92099,97$
第三表 圓外切六邊起算



(3)
(4)
邊數 每   邊   長
$~~~~6$
$24576$
$49152$
$115,47005,38379.25152,90182,97561,00391,49112,95$
$2556,63446,04020,16640,52453,71933,91505,82$
$1278,31732,49787,77840,10560,77401,04623,48$

由(1)與(3)把邊數乘以邊長再除以2, 用 Mathematica 算出結果, 二者分別是 \begin{eqnarray*} &&3.141592645033690896672141448901384306688 \\ &&3.141592424941998047876551303239482351616 \end{eqnarray*}

所以圓周率正確至小數後六位, 即 3.141592 此時為正24576邊形

由(2)與(4)把邊數乘以邊長再除以2, 用Mathematica算出結果, 二者分是 \begin{eqnarray*} &&3.141592651450767651704253580473384886272 \\ &&3.141592657867844419843541582081122664448 \end{eqnarray*} 所以圓周率正確至小數後八位, 即3.14159265此時為正49152邊形

第二表 圓內容四邊起算



(5)
(6)
邊數 每   邊   長
$~~~~4$
$16384$
$32768$
$141,42135,62373.09504,88016,88724,20969,80785,69 $
$3834,95194,62140,66148,79839,14675,43703,33$
$1917,47598,19195,46917,41044,43334,12743,17 $
第四表 圓外切四邊起算



(7)
(8)
邊數 每   邊   長
$~~~~4$
$16384$
$32768$
$200,00000,00000,00000,00000,00000,00000,00000,00$
$3834,95201,67141,77702,91555,12172,61821,10$
$1917,47599,07320,60800,92296,09314,51461,06$

由(5)與(7)把邊數乘以邊長再除以2, 用Mathematica算出結果, 二者二分是 \begin{eqnarray*} &&3.141592634338562989095642290211801767936 \\ &&3.141592692092254374228419557180883845120 \end{eqnarray*} 所以圓周率正確至小數後七位, 即3.1415926此時為正16384邊形

由(6)與(8)把邊數乘以邊長再除以2, 用Mathematica算出結果, 二者分別是 \begin{eqnarray*} &&3.141592648776985669485271995863438409728 \\ &&3.141592663215408416232179190090073800704 \end{eqnarray*}

所以圓周率正確至小數後七位, 即3.1415926此時為正32768邊形

從以上四項結果看來, 祖沖之是從圓內接、外切正方形算起, 才能把圓周率算到正確至小數後七位。

由第(一)、(三)二表是算到圓內接正5,15396,07552邊形, 得圓周率為 \begin{eqnarray*} &&3.141,592,653,589,793,238 \quad \hbox{正確至小數後18位} \end{eqnarray*}

由第(二)、(四)二表是算到圓內接正3,43597,38368邊形, 得圓周率為 \begin{eqnarray*} &&3.141,592,653,589,793,238 \quad \hbox{正確至小數後18位,} \end{eqnarray*} 完全一樣。那個時代的數學家沒有電腦可用, 他們真是太偉大了。

根據本文演算的結果, 可以知道清聖祖敕編「數理精蘊(三)」下編卷十五、 面部五的割圓一節有一段話「$\cdots$ 劉宋祖沖之以圜容六邊起算 $\cdots$ 自六邊而十二邊, 自十二邊而二十四邊, 自二十四邊而四十八邊, 如果累至億萬邊, 設徑為一, 而周得三一四一五九二六五三有餘 $\cdots$」是不正確的, 他是從圓內接、外切正方形算起的。

---本文作者曾任教於建國中學, 現已退休---