馬青公式:馬青公式由英國天文學教授約翰·馬青(john machin,1686 –1751)於2023年發現。馬青公式每計算一項可以得到1.4位的十進位制精度。因為它的計算過程中被乘數和被除數都不大於長整數,所以可以很容易地在計算機上程式設計實現。
根據提示輸入要計算的長度,計算完成自動生成pai.txt檔案,要多長有多長。
經過測試生成10w位大概需要23秒左右。
# -*- coding: utf8 -*-
import time
def comput():
n =int(input('請輸入要計算的長度:'))
start_time = time.time()
w = n+10
b = 10**w
x1 = b*4//5
x2 = b// -239
he = x1+x2
n *= 2
for i in range(3,n,2):
x1 //= -25
x2 //= -57121
x = (x1+x2) // i
he += x
pai = he*4
pai //= 10**10
end_time = time.time()
run_time = str(end_time - start_time)
paistr=str(pai)
paistr=paistr[:1] + '.' + paistr[1:]
f=open('pai.txt','w')
f.write(paistr)
f.close()
#print ('計算結果:',pai)
print ('\n'*1)
comput()
comput()
用python計算圓周率PI
向區域內隨即撒點 當點的數目足夠多時,落在圓的點數目與在正方形點數目成正比 即圓的面積和正方形的面積成正比 可以得出計算圓周率的演算法 darts 100000000 hits 0.0 clock fori inrange 1,darts 1 x,y random random dist sqrt ...
《計算圓周率》python
題目 歷史上有許多計算圓周率pai的公式,其中,格雷戈里和萊布尼茨發現了下面的公式 pai 4 1 1 3 1 5 1 7 這個公式簡單而優美,但美中不足,它收斂的太慢了。如果我們四捨五入保留它的兩位小數,那麼 累積1項是 4.00 累積2項是 2.67 累積3項是 3.47 請你寫出它累積100項...
圓周率的計算 python
描述 求解圓周率可以採用蒙特卡羅方法,在乙個正方形中撒點,根據在1 4圓內點的數量佔總撒點數的比例計算圓周率值。請以123作為隨機數種子,獲得使用者輸入的撒點數量,編寫程式輸出圓周率的值,保留小數點後6位。author fpc認清形勢拋棄幻想 from random import random,se...