2010-06-16 63 views
0

我的主要問題是: 這是很多循環?Pi幫助Php(質量循環)

while ($decimals < 50000 and $remainder != "0") { 
$number = floor($remainder/$currentdivider); //Always round down! 10/3 =3, 10/7 = 1 
$remainder = $remainder%$currentdivider; // 10%3 =1, 10%1 
$thisnumber = $thisnumber . $number; 
$remainder = $remainder . 0; //10 
$decimals += 1; 
} 

還是我可以適應更多? - 沒有服務器崩潰/滯後。

我只是想知道, 也有一個更有效的方式做到上述? (例如finidng指出1/3 = 0.3〜50000小數。)

最後:

我這樣做了PI公式(1 - 1/3 1/5 + - 1/7等)一,

而我想知道是否有更好的。 (在PHP) 我發現一個在4秒內發現pi到2000。

但那不是我想要的。我想會聚接近丕

所以每次刷新,用戶可以查看它越來越近了無窮級數...

但OBV。使用上述公式收斂需要花費時間。

是否有任何其他'循環'像Pi公式(在PHP中可行),收斂速度更快?

非常感謝......

+0

注意,你不會得到足夠的精度得到比PI的幾個小數位數以上,只要您使用PHP的基本的算術運算符。但是,您可以使用BC數學函數:http://www.php.net/manual/en/ref.bc.php – 2010-06-16 12:50:33

+0

可能的重複[哪一個是找到Pi的最佳公式?](http:// stackoverflow。com/questions/3045020/which-the-the-the-best-formula-to-find-pi) – interjay 2010-06-16 19:00:31

+0

@interjay由於某種原因,可能重複的鏈接被破壞 – JAL 2010-06-16 20:20:54

回答

2

在這裏你有計算圓周幾個公式:

http://mathworld.wolfram.com/PiFormulas.html

他們都是「可行的」,在PHP,就像任何其他的編程語言。另一個問題是他們有多快或者他們實施的難度。

如果公式收斂較快或較慢,這是一個數學問題,而不是編程,所以我不能幫你。我可以告訴你,作爲一個拇指規則,你放置的循環越少,算法就越快(這是一條通用規則,不要把它當作絕對的事實!)

無論如何,既然Pi的數字是已知的,直到某個數字,爲​​什麼你不把它複製到一個文件,然後只是索引它?這將是非常快:)

您可以檢查以前的回答類似的問題: How can pi be calculated to a set number of digits in PHP? https://stackoverflow.com/questions/3045020/which-is-the-best-formulae-to-find-pi

+0

一:我不明白該頁面上3/4的單詞:P很難說沒有例子哪些是循環。 那麼在那個頁面上哪些是循環? :) - 你可以告訴我一個例子afew循環:)公式的目標是什麼...它是更接近無窮大,更接近等... 我很困惑,只有一個鏈接。 – Pieman 2010-06-16 11:27:48

+0

每個「sigma」字母都是一個循環。階乘是循環。系列是循環。 – pakore 2010-06-16 11:32:16

+0

這會是,但不那麼有趣。 而且到目前爲止,我還不知道Pi有10億的網站。 :P 也嵌套循環,它們是什麼? :P – Pieman 2010-06-16 11:34:25