寫一下萊布尼茨級數
阿新 • • 發佈:2018-12-26
背景:看《邏輯的引擎》這本書的時候,看到天才萊布尼茨的發現,本來是對電腦計算速度好奇的,試了下運算時間蠻長,就是了100,效果跟書本不一樣。記錄一下。
萊布尼茨級數:π/4 = 1-1/3+1/5-1/7+1/9…
越趨近極限,就越接近π/4的值。
package com.hmc.testUserAccounts; /** Author:meice Huang Time:2018年10月日下午14:08:28 */ public class getLeibnizSeries { /** * * 背景:書籍《邏輯的引擎》,看到萊布尼茨級數,就試了一下,結果跟書本不一樣。寫得應該是沒有問題的。 * * π/4 = 1-1/3+1/5-1/7+1/9..... * @param num * @return */ public static double getLeibnizeries(int num ) { double m = 0; int count =1; for(int i=2;i<=num;i++) { double x =0; if(isOdd(i)){ //int count =1; if(isOdd(count)) { x=-i; if(i==3) { m= m+(1+(1/x));//0-1/3+1/5 } m= m+((1/x)); System.out.println("m "+m+" "+(1/x)); }else { x=i; m= m+(1/x); } count++; } } return m; } public static boolean isOdd(int a ) { boolean b; if(a %2 ==0){ b = false; }else{ b = true; } return b; } public static void main(String[] args) { System.out.println("最終結果:"+getLeibnizeries(100));//100次的結果是:0.4470653298144195 } }
對比一下書本結果:
總結:我只是想冒個泡泡。
歡迎評論交流。