Java計算圓周率

        最近很多同學來問我怎麼用Java近似計算π的值,其實並不是很難,用到的知識實際上是C語言的知識。 
   首先定義浮點數類型的pi,浮點數類型的dx,給dx以初始值1e-3(0.01),給dx這麼小的初始值是爲了方便計算,然後使用一個for循環,x從-100開始,當x=100時結束循環,pi的值每次利用Math.exp(-x*x)計算 e的-x二次方乘dx的值,就這樣pi的每次累加取極限,這樣就是根號pi的值了。 
   我們不難發現x的值取100的時候,dx的值0.01相比於100的乘方是非常小的,所以就把-100~+100的過程看作是負無窮到正無窮的過程,我們應用的是公式:

+ex2dx=π

下面我們來看代碼:
public class Demo{  

public static void main(String[] args){    
double pi=0;    double dx=1e-3;    
for(double x=-100;x<=+100;x+=dx){
      pi+=Math.exp(-x*x)*dx;
    }
    System.out.println(pi*pi);
  }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章