最近很多同學來問我怎麼用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); } }