蒙特卡洛方法应用

e的定义如下:



求解它有两种方法:
一是公式法,

取一个很大的数代入。

python代码如下:

1 x = 1024*1024
2 e = pow(1+1/x,x)
3 print("{}".format(e))


二是蒙特卡洛方法 (题目本身不难,重点的是这种思维模式)

 1 import random as rd
 2 
 3 scatterNum = 1024*1024 #撒点的总数
 4 count = 0
 5 
 6 for i in range(scatterNum):
 7     x = rd.uniform(1,2)
 8     y = rd.uniform(0,1)
 9     if x*y <= 1:
10         count+=1
11 e = pow(2,scatterNum/count)
12 print("自然常数e:{}".format(e))

猜你喜欢

转载自www.cnblogs.com/zach0812/p/11271928.html