// モンテカルロ法による円の面積の計算 import java.util.Random; import java.io.*; public class Circle{ public static void main(String[] args) throws IOException { double x,y,ran; String s; BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Input: random seed"); s = buf.readLine(); long seed = Long.parseLong(s); System.out.println("Input: Number of trials"); s = buf.readLine(); long ntrial = Long.parseLong(s); Random rnd = new Random(); rnd.setSeed(seed); double r0=1.0; double r02=r0*r0; long nin=0; for(int i=0; i < ntrial; i++){ ran=rnd.nextDouble(); x=ran; ran=rnd.nextDouble(); y=ran; double r2=x*x+y*y; if(r2 < r02) nin=nin+1; } double area=4.0 * ((double)nin/(double)ntrial); System.out.println("ntrial="+ntrial+" area= "+area); } }