2011-07-22 18 views

回答

-3

在.Net平臺,你可以試試.NET遠程

5

這裏有一個簡單的方法:

  1. 產生隨機的(X,Y)的一個巨大的點數,其中x和y是0到1之間1.
  2. 對於每個點,計算出其原點笛卡爾距離是否< = 1(即,它是否位於或內部的圓)
  3. 計數點的數量的圓的內側相對於圓

然後,Pi可以從內部點到外部點的比率來計算。有很多點需要用這種方法來處理pi,但是如果你有很多機器,你可以讓每臺計算機產生儘可能多的數據,然後簡單地將計數返回給某個領導者機器,這將收集所有的結果,計算最終比例。

這種方法可以用來計算pi到任何你想要的精度...越多的點,精度越高。它被稱爲'蒙特卡洛'方法,因爲它使用隨機性。有關更多信息,請參閱http://math.fullerton.edu/mathews/n2003/montecarlopimod.html

+3

爲了真正起作用(例如,要獲得良好的pi精度),還需要高精度的隨機數,而不僅僅是很多。 –

2

一個「簡單」版本將使用Bailey-Borwein-Plouffe公式或其更快的變體Bellard Formula。它允許計算π的個別(二進制)數字,而無需計算以前的數字。

這意味着您可以將計算工作分配到不同的計算機上,這些計算機不必進行太多的通信。對於較大的數字指數,即使是單個數字,您仍需要分配計算(因爲您正在進行一些真正大整數的乘法和除法)。

這是用來通過PiHex項目計算圍繞位數字5·10 12 一些(二進制)位,一些周圍4·10 和一些約10 。