看板 C_and_CPP 關於我們 聯絡資訊
上色版 http://nopaste.csie.org/900f4 #define NUM_TERM 1000 int Serial_Pi(double *pi) { int i; double step, x, sum; sum = 0.0; step = 1.0/NUM_TERM; for(i =1; i<= NUM_TERM; i++){ x = (i - 0.5)*step; sum += 4.0/(1.0 + x*x); }/*for i*/ *pi = step*sum; return 0; }/*Serial_Pi*/ 這公式很棒啊,沒有正負交替。 極適合平行計算。 收殮又快,做一千項就有小數點七位精度 Leibniz formula做一千項才到小數點後第三位 0.0 (或是說Leibniz要作一千兩百萬才只有他一千次的精度) 有人知道這公式的名字/來源或推導的嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.143.194
stupid0319:積分嗎? 12/04 01:58
※ 編輯: DrStein 來自: 58.115.143.194 (12/04 02:15) DrStein:轉錄至看板 Math 12/04 04:26
tropical72:有做一次精度就達14位數的:Machin公式-> 12/04 04:36
tropical72:pi=16*atan(1.0/5.0) - 4*atan(1.0/239.0); 12/04 04:36
tropical72:(實際上上式精度是到100位) 12/04 05:37
stimim:http://ppt.cc/C7ZS 可以直接算十六進位下的小數點第 n 位 12/04 10:53
johnhmj:=> #define PI acos(-1.0) 12/04 14:31
LPH66:這支程式就只是個積分而已 XD 還是個中點長方形法 12/04 17:24