首頁(yè) 短篇

編程代碼之戰(zhàn)

第三十章 探尋圓周率

編程代碼之戰(zhàn) 程序小猿 1065 2020-07-06 11:06:53

  “那真是可惜...”

  凱撒心馳神往。

  “我沒(méi)能見(jiàn)識(shí)到那樣偉大的國(guó)度”。

  他開(kāi)懷一笑,站起身子。

  “那么,接下來(lái)就讓你去中國(guó)的古代吧,來(lái)一場(chǎng)傳統(tǒng)文化之旅!”

  ......

  南朝宋大明五年,徐州刺史府。

  夜空有一輪明月高懸,夜沉似水,晚風(fēng)習(xí)習(xí)。

  府內(nèi)大院,此時(shí)正值三更,四周靜寂無(wú)聲。

  一個(gè)中年人憑借著這明亮的月光,端坐在院中的石凳上,正在辛勤地進(jìn)行數(shù)學(xué)推演。

  他手上并沒(méi)有常見(jiàn)的算盤(pán),在這個(gè)年代,還處于“籌算”的階段。

  那一根根小小的木棍,便是他的工具。

  中年人十分專(zhuān)注,此時(shí)此刻他眼中只有那個(gè)一直在苦苦探索的問(wèn)題,腦海中更是電光石火般地閃過(guò)他曾經(jīng)推演過(guò)無(wú)數(shù)次的結(jié)論。

  這時(shí)候,一個(gè)年輕的身影慢慢走了過(guò)來(lái)。

  中年人沉浸在自己的算術(shù)世界中,似乎毫無(wú)察覺(jué)。

  楊成走上前,眼中滿(mǎn)是敬意,猶豫了幾分鐘,他終于鼓起勇氣。

  “先生請(qǐng)賜教,圓周有率幾何?”

  中年人聞之,面不改色,更是沒(méi)有停下手中的工作。

  須臾間,他開(kāi)口說(shuō)道。

  “以圓徑一億為一丈,圓周盈數(shù)三丈一尺四寸一分五厘九毫二秒七忽,朒數(shù)三丈一尺四寸一分五厘九毫二秒六忽,正數(shù)在盈朒二限之間”。

  “密率,圓徑一百一十三,圓周三百五十五”。

  “約率,圓徑七,周二十二”。

  楊成點(diǎn)點(diǎn)頭,中年人的意思很明了。

  圓周率介于3.1415926和3.1415927之間,它有近似數(shù)355/113和22/7。

  所謂“密率”,指代精密的近似數(shù)。

  而“約率”,指代粗疏的近似數(shù)。

  “汝可自開(kāi)密法”。

  中年人突然抬起頭,輕撫胡須,滿(mǎn)是笑意。

  “后生自當(dāng)竭盡所能”。

  楊成低垂著頭,開(kāi)始了漫長(zhǎng)的思考。

  時(shí)間緩緩地流逝著,月色越發(fā)的明亮起來(lái)。

  在歷史長(zhǎng)河中,對(duì)圓周率的精確求解做出重大貢獻(xiàn)的有很多先哲。

  其中包括德國(guó)數(shù)學(xué)大師,萊布尼茨。

  楊成腦海中,一個(gè)公式慢慢浮現(xiàn):

  “PI / 4 = 1 - 1/3 + 1/5 - 1/7 +...”

  這個(gè)又被稱(chēng)為“萊布尼茨公式”。

  通過(guò)對(duì)這個(gè)公式后面項(xiàng)的反復(fù)迭代運(yùn)算,可以對(duì)圓周率的精度做提高。

  而眼前的這位中年人,毫無(wú)疑問(wèn)是中國(guó)古代的杰出數(shù)學(xué)家——祖沖之。

  他最為人所知的貢獻(xiàn)是計(jì)算出圓周率小數(shù)點(diǎn)后七位。

  那么,如果用萊布尼茨的公式,要達(dá)到祖沖之這樣的精度,需要迭代多少次呢?

  楊成調(diào)出編輯器面板,開(kāi)始進(jìn)行代碼編寫(xiě)。

  這個(gè)算法并不復(fù)雜,會(huì)一直持續(xù)到達(dá)到指定的精度為止。

  楊成點(diǎn)擊提交,一運(yùn)行代碼。

  讓他驚訝萬(wàn)分的事情出現(xiàn)了!

  要求出3.1415926-3.1415927之間的結(jié)果,至少需要上千萬(wàn)次的迭代!

  在這個(gè)計(jì)算機(jī)廣泛普及的時(shí)代,上千萬(wàn)次迭代運(yùn)算帶給用戶(hù)的體驗(yàn)都是談不上良好的。

  那祖沖之是如何做到如此精確求解的?

  萊布尼茨求圓周率公式相對(duì)于后人提出的公式求解效率自然是差遠(yuǎn)了。

  但祖沖之的年代距離萊布尼茨時(shí)代,差了又何止一千年?

  沒(méi)有十年如一日的刻苦鉆研,如何能取得這樣的成就。

  楊成向先賢鞠躬,執(zhí)弟子之禮。

按 “鍵盤(pán)左鍵←” 返回上一章  按 “鍵盤(pán)右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書(shū)架
加入書(shū)架
書(shū)頁(yè)
返回書(shū)頁(yè)
指南