1. 程式人生 > >蒙特卡洛(Monte Carlo)方法求面積

蒙特卡洛(Monte Carlo)方法求面積

pre pytho 編寫 技術 port width 嘗試 python nbsp

技術分享圖片

如圖,刷微博時,看到一個問題,第一個想到的就是用蒙特卡洛方法求解,當時正在練python,於是嘗試用python編寫程序。

 1 import random
 2 # 先求s1
 3 k=0
 4 n=100000000
 5 for i in range(n):
 6     x=random.uniform(0,10)
 7     y=random.uniform(0,10)
 8     if ((x-5)**2+(y-5)**2>25) and (y<-2*x+20):
 9         k=k+1
10     else: k=k
11 
12 s1=(k/n)*100
13 
14 #求s2
15 import math 16 s2=(10*10-math.pi*25)/4 17 18 s=s1+s2 19 print("k=",k) 20 print("s2=",s2) 21 print("s1=",s1) 22 print("s=",s)

蒙特卡洛(Monte Carlo)方法求面積