モンテカルロ法で円周率πを求める。
このページとかが参考になる。
http://www.f.waseda.jp/takezawa/math/number/Pi/monte.html
#!usr/bin/env python # -*- coding: utf-8 -*- #montecarlo.py import sys import random N=raw_input("input trial number : ") a= 0 for x in range(int(N)): x = random.random() y = random.random() if pow(x,2)+pow(y,2) <= 1: a+=1 pi = float(4)*a / int(N) print "PI = ", pi
10万回の試行で3.14まで出てきた。
pythonの割り算の結果が整数にならないようにするには、
割る数or割られる数にfloatを指定するか、1.0をかけておく。