2015年12月24日 星期四

梁啟修老師的「分子模擬」作業

2. 寫一個簡單的Java程式,用蒙地卡羅的方式,以一百萬次嚐試,來計算半徑 10 的圓面積 (請將程式碼貼在自己的網頁上,完成這一題的同學80分)。

import static java.lang.Math.*;

/*
 * PI/4 : 1 = C : N
 * PI = 4*C/N
 */

public class monte {

public static void main(String[] args) {    
        int N = 1000000;
        int C = 0;
        double newpi = 0.0;
        
        for(int i = 1; i < N; i++) {
            if(pow(random(), 2) + pow(random(), 2) < 1) {
                C++;
            }
        }
        newpi = 4.0 * C / (N - 1);
        System.out.println( + 100 * newpi);    
}

}

沒有留言:

張貼留言