3月14日,對於喜好數學的人來說,可以聯想圓周率 3.14,甚至有人在這天的下午1點59分26秒作慶祝活動,這代表 3.1415926。
我從小學五年級,對圓周率開始有興趣,那是偶然的機會,查國語字典,無意中看到圓周率的解釋,字典也列出圓周長與圓面積的算法。隔年在小學六年級正式課程,老師教圓周率的時候,我的學習,自然而平順,大概是因為前一年預先留存印象。
國中二年級(1983年)買了電腦,對於描繪圓形很有興趣,但是看不懂程式語言相關的SIN, COS數學函數運用,拿去問數學老師,老師說沒學過電腦,而他弟弟是專家,應該是懂,可惜我沒有機會遇到師叔(在外地工作)來好好請教。自己只好在假日空閒時間,慢慢思考。有一天想懂了,寫個程式在電腦螢幕上一點一點描繪,畫出圓形,那一天,恰好是中秋節,也就是月圓的日子,因此我印象深刻。
平常,看手錶,如果恰好是3點14分,或6點28分,我也會想起圓周率。
在高一升高二的暑假, 預備參加教育部舉辦的電腦程式設計比賽,電腦研習社的學長,拿幾個題目來訓練我們,有一題是計算圓周率到小數一百位。當年我想不到方法,寫不出程式。
在大學三年級那年,可能也是在靠近三月14日那幾天,突然有個靈感,想到方法,寫個程式計算圓周率到小數一百位,我用幾個小時把程式修到正確,而電腦花了30秒鐘跑出答案。之後幾天,繼續修改程式,改進效率,計算到小數一萬位,電腦用一小時跑出答案。
唸中醫及西醫課程,需要記憶背誦的科目很多,有時會覺得枯燥。以前學會電腦程式語言,偶爾拿出來當作消遣,在醫學院的生涯,是一種調劑。同學們發現我懂程式語言,有些人說我唸錯科系。我自己心裡明白,習醫是既定方向,電腦操作技能是預備用來作為行醫的輔助。醫學院功課愈來愈重,在三年級的暑假,我還有一點小小的程式設計作品,後來就忙著功課。
畢業後,服兵役期間,遇到一位阿兵哥,他在部隊裡負責電腦打字。我發現他帶著一本程式語言的書,便打開話匣子談得起勁,聊著聊著,對於自己多年沒作的程式設計,重新點燃興趣,休假期間到書局買幾本書來看。那時發現,才幾年而已,程式設計的觀念一直更新,我沒有能力寫出大型程式,只能由國中高中期間打下的一點點基礎,稍微作些擴充,畢竟我的主要工作是醫學,程式設計是業餘興趣,希望對於行醫有所輔助。
退伍那年,中醫師證照未能考上,於是延後一年到醫院工作。在家讀書,每天唸中醫古籍,日子一久,感到枯燥,想寫一兩個小程式來消遣,再作圓周率進一步的計算。大約1997年十一月開始,醫書讀累了就看些電腦資訊類的書。
1998年二月份,中醫師考試後,開始準備西醫的國家考試,讀書累了,偶爾作些消遣,我把以前的程式拿出來修改,想要計算圓周率到小數一百萬位。我不是專業程式設計師,因此程式常出錯,執行效率很差。可能三天、五天才修改一下程式,改到效率似乎可以了,1998年三月13日晚上,讓電腦整夜開著,跑了14小時,在三月14日,自己的電腦計算圓周率到小數一百萬位,很興奮,但是不知道有沒有算錯?唸高中時買的一本書,附圓周率小數一萬位,而後續位數,我不知道哪裡有資料來印證我的程式計算正確。網路上向別人請教,原來Yahoo可以用Pi關鍵字搜尋到,下載之後核對,發現我的程式計算結果只有準確到三萬多位。
繼續修改程式,電腦跑14小時,準確到71萬位小數。過一段時間再修改,四月13日晚上,再讓電腦熬夜,我隔天醒來,四月14日,計算結果,小數一百萬位,完全與網路搜尋的資料符合,答案正確了!這天四月14日,正好是中醫師國家考試的放榜日,我考了很多次,終於考取了!
同年七月14日,參加西醫師分階段考試(九月份放榜,順利通過),七月17日開始在中國醫藥大學附設醫院兒科部擔任住院醫師。
上班之後,工作很忙,本來以為不會再「遇到」圓周率。
大概是我喜歡聯想,在小兒加護病房(Pediatric Intensive Care Unit 簡稱PICU),同事講電話使用更短的簡稱: PI 。每次我聽到PI就很容易想到圓周率π,那期間PICU的電話分機7022 (兩年後改成別的號碼),同事們說這個號碼不容易記得,但我想起數學史,劉徽用七分之二十二當作圓周率的近似值,這樣來聯想PI電話7022。
在西醫部門五年之後,轉到中西醫結合科,也進入中西醫結合研究所碩士班,頭腦裡常常想著「中醫與西醫要用什麼方式結合?」有時也會想起圓周率以及相關的發展歷史,作為他山之石,輔助思考。
在2009年,看到《圓運動的古中醫學》這本書,2010年初也買到這書的續集,讓我把「圓」的概念與「中醫」聯結起來。或許別人認為沒什麼特別,但是對我而言,是觀念整合的重要里程碑。從小學讀書,讀到今年,「圓」的思想,漸漸與專業工作融為一體。
今天是三月14日,我從小喜歡數學,每年這個日子,很自然會想起圓周率。
圓周率在我的求學歷程,似乎佔了很重要的部份!
(以上是在2010年三月14日所寫)
三月19日補充說明:
在1973年,已經有人用電腦計算圓周率到小數一百萬位,目前的世界紀錄一再翻新。一般科學用途,小數十位就很夠用,計算到更多位數,似乎沒有實際的應用價值。數學往往是先有理論,經過相當時間之後,才被拿到現實生活中應用。
我自己寫程式計算圓周率,好像很無聊,大概也沒有必要作這種對自身學業、職業無關聯的事。然而,編寫程式與追查算錯圓周率原因,在過程中,讓我學到一些事:
- 計算少量位數的方法,不能直接套用於計算大量位數。
- 計算要先求正確,接著考慮耗用時間,改進效率。
- 只看程式,看不到「執行時期」的錯誤,要先執行,再修程式。
玩電腦玩出來的心得,對於目前的醫療工作與研究進行,好像沒有「直接」的幫助。但思想概念可以類推,發揮效用。
- 為少數人服務,要推廣到為大眾服務,方法可能需作些修訂,不宜直接套用。
- 治療要先講求安全,之後才考慮效果及便利程度。
- 事先開會討論方法,只能建立大致模式,不易預測困難會發生在何處,要執行計畫,才會發現問題,然後思考方法解決問題。
不同的專業領域,有時存在類似的觀念,可以相互參考。
三月30日再補充資料:
2010年是「圓周率日」22週年慶,1988年在San Francisco Exploratorium有第一屆"Pi Day"慶祝活動。
美國麻省理工學院首先倡議將三月14日定為National Pi Day。2009年美國眾議院正式通過:每年的三月14日為National Pi Day。這天恰好也是愛因斯坦的生日。
可參考維基百科:http://zh.wikipedia.org/wiki/圓周率日
2009年8月17日,日本筑波大學宣布:圓周率計算到小數25769億位,使用640台電腦連接,花費73小時36分鐘。而2002年的世界紀錄:東京大學計算到小數12411億位,耗用600小時。
2010年1月,法國軟體工程師法布里斯.貝拉德宣布,他的電腦花了131天計算出圓周率小數27000億位。這個圓周率數據佔用1137GB的磁碟容量,傳輸或下載需要10天時間。
“記憶大王”能記3000萬位
2005年,中國西北農林科技大學學生呂超花費24小時零4分鐘,毫無錯誤地背誦圓周率小數67890位,創下背誦圓周率最多位數的吉尼斯紀錄。
不過,烏克蘭38歲醫生安德烈.斯柳薩楚克宣稱他能將圓周率記憶到小數點後3000萬位,他因此被稱作“圓周率博士”,還受到過烏克蘭總統的接見。
我在小學六年級,看到一本《金氏世界紀錄》,列出圓周率小數15位: 3.141592653589793,看了很高興,立刻拿紙抄起來。唸國中的時候,姑丈送我一本《中學數學百科全書》,列出40位小數。上了高中,我買一本《π的故事》,附錄小數一萬位。但是我只背誦100位而已。
去年在心臟手術前,想著:手術後要如何瞭解自己的頭腦仍然靈活、記憶良好?想來想去,大概就是自我測驗圓周率還記得多少位數。
三月動手術,但是術後,我卻是想到圓周率就頭暈,可能身體的恢復沒那麼快,大腦還不適合作這種回憶背誦,就不去想圓周率的數值。若是用腦過度,會增加心臟的負擔。
直到2009年六月,唸小學四年級的兒子,看到一本兒童讀物,介紹圓周率,也列出60位小數。內人對孩子說:「爸爸可以背出100位小數。」兒子就很高興聽我唸出來。
這時,我自己也放心了,在心臟手術後,隔將近三個月,終於驗證記憶力過關。