text: # 練習18 モンテカルロ・シミュレーション (ex18.py)
  # 　モンテカルロ・シミュレーションは、コンピュータ上で仮想的に実験をしてみて、
  # そこから結果を求める問題の解き方です。ここでは円周率を求めてみましょう。
  # 　一辺の長さが１の正方形に半径１の四分の１円が入っているとします。
  # この中に、次々とダーツを投げて円の中に入った数を勘定します。
  # 投げるダーツの内で円の中に入るダーツの個数の割合は、正方形の面積と四分の一円の面積の割合と同じです。
  # つまり、
  #     円の中に入ったダーツの数(nc)／投げたダーツの総数(n) = 四分の１円の面積／正方形の面積
  # です。沢山、ダーツを投げれば投げるほどこの値は一定になります。これを使って円周率を求めることができます。
  #     π = 4 * nc / n
  # となるからです。 　ダーツを投げるにはジャンケンの時に使った乱数を使います。(つまり、import randomが必要です。)
  # random.random() --- [0.0,1.0]の範囲の浮動小数点数を生成
  # 投げたダーツが正方形の中に落ちる位置(x,y)をそれぞれ乱数で与えます。そして、x2 + y2 が１より小さければ、円の中に落ちたということになるので、ncを1増やします。ダーツを投げる回数を入力して、円周率を求めるプログラムを作りなさい。
  
  import random
  
  
  darts_count_inital = int( input("実行回数> ") )
  nc = 0
  darts_count = darts_count_inital
  
  while( darts_count > 0 ):
      x = random.random()
      y = random.random()
      if ( x**2 + y**2 < 1) :
          nc = nc + 1
  
      darts_count = darts_count - 1
  
  PI = 4 * nc / darts_count_inital
  
  print("PI = {}".format( PI) )
  
  # 実行結果
  # 実行回数> 100000000
  # PI = 3.14169316
  
  