円周率


javaプログラムです。今課題で、 『モンテカルロ法で円周率を小数第4位(3.1415)まで計算できるプログラムを書きなさい。』 という課題をやっています。モンテカルロ法では1回の計算では出ないので、繰り返し計算をして求めるプログラムなんですけど、誰かできませんか。よろしくお願いします。

// MonteCarlo.java

public class MonteCarlo{
  private static final int n = 100000;
  private static final int r = 50;

  public static void main(String[] args){
    double pi_total = 0.0;
    for(int j = 0; j < r; j++){
      int count = 0;
      for(int i = 0; i < n; i++){
        double x, y;
        x = Math.random();
        y = Math.random();
        if(x * x + y * y < 1.0){
          count++;
        }
      }
      double pi = 4.0 * count / n;
      System.out.println("pi[" + Integer.toString(j) + "] = " + Double.toString(pi));
      pi_total += pi;
    }
    System.out.println("pi average = " + Double.toString(pi_total / r));
  }
}

CONTENTS

最新の20件

2020-11-14 2005-12-06 2006-11-04 2012-07-15 2009-06-19 2011-03-03 2006-12-13 2007-11-05 2014-07-22 2014-07-19 2014-07-09 2014-01-14 2012-09-03 2012-03-28

今日の20件

人気の30件

  • counter: 9542
  • today: 2
  • yesterday: 1
  • online: 2