導航:首頁 > 編程語言 > python計算圓周率while函數

python計算圓周率while函數

發布時間:2022-09-28 04:05:51

A. python模擬蒙特卡羅法計算圓周率的近似值

畫一個圓以及與其外切的正方形,在正方形內任取一個點,則它在圓內的概率=圓面積/正方形面積=πr^2/(2r)^2=π/4。所以π近似等於這個概率的4倍。用python多次取正方形內隨機點,判斷是否在圓內,算出這個概率後乘以4,就大致等於π。

B. python如何計算π

#coding=utf-8
'''
Createdon2014-11-04

@author:Neo
'''

importsys
importmath
fromdecimalimport*

defbbp(n):
pi=Decimal(0)
k=0
whilek<n:
pi+=(Decimal(1)/(16**k))*((Decimal(4)/(8*k+1))-(Decimal(2)/(8*k+4))-(Decimal(1)/(8*k+5))-(Decimal(1)/(8*k+6)))
k+=1
returnpi

defmain(argv):
iflen(argv)!=2:
exit('Usage:BaileyBorweinPlouffe.py<prec><n>')

getcontext().prec=(int(sys.argv[1]))
my_pi=bbp(int(sys.argv[2]))
accuracy=100*(Decimal(math.pi)-my_pi)/my_pi

print"Piisapproximately"+str(my_pi)
print"Accuracywithmath.pi:"+str(accuracy)

if__name__=="__main__":
main(sys.argv[1:])

result:

d:workspacePyDemo>python test.py 10 10

Pi is approximately 3.141592653

Accuracy with math.pi: 1.877369797E-8


d:workspacePyDemo>python test.py 25 25

Pi is approximately 3.141592653589793238462644

Accuracy with math.pi: -3.898171852150198570978563E-15


d:workspacePyDemo>python test.py 40 40

Pi is approximately 3.

Accuracy with math.pi: -3.-15


d:workspacePyDemo>

C. 求用python計算圓周率小數點後五萬位的最快的方法,需要代碼,謝謝

祖沖之(公元429-500年),字文遠,范陽遒(今河北淶水)人,歷任南徐州從事史、公府參軍等職。他博學多才,在數學、天文歷法方面造詣尤深。魏晉時期的數學家劉徽,求出了圓周率值約等於3.1416,這在當時世界上已是一個相當精確的數據。但祖沖之並不滿足於前人的成就,他應用劉徽創立的割圓術,在劉徽的計算基礎上繼續推算,求出了精確到小數點後七位數字的圓周率。 祖沖之求出的圓周率,不足近似值是3.1415926,過剩近似值是3.1415927,用式子表示就是:3.1415926<圓周率<3.1415927。這樣,圓周率的精確值就達到了小數點後七位。祖沖之的成果在世界上一直領先了1000年。到了公元15世紀和16世紀,阿拉伯數學家和法國數學家才求出更精確的數值滿意望採納

D. python求圓周率,if dist<=1.0與 if dist<=1,對結果有

從功能上看使用if dist<=1.0或 if dist<=1並沒有區別,每次運行的結果都有一定差異的原因在於代碼用的是隨機數的方法求圓周率。
darts是1x1正方形內的所有點數,hits是落在半徑1的1/4圓內的點數,二者之比近似為1/4Π

E. 現代計算機是如何計算圓周率的

可以用編程語言計算。以下是python語言

pi = 0.0

N = 100

for i in range(N):

pi += (1/pow(16,i) * ( 4/(8*i +1) -2/(8*i+4)-1/(8*i+5) -1/(8*i +6) ) )

print('圓周率為{:.10f}'.format(pi))

請把以上代碼拷進python語言開發環境里運行,結果如下(下圖是使用python開發環境Spyder運行上述代碼的結果):圓周率為3.1415926536.

(5)python計算圓周率while函數擴展閱讀

電子計算機的出現使π值計算有了突飛猛進的發展。1949年,美國製造的世上首部電腦-ENIAC(Electronic Numerical Integrator And Computer)在阿伯丁試驗場啟用了。

次年,里特韋斯納、馮紐曼和梅卓普利斯利用這部電腦,計算出π的2037個小數位。這部電腦只用了70小時就完成了這項工作,扣除插入打孔卡所花的時間,等於平均兩分鍾算出一位數。

五年後,IBM NORC(海軍兵器研究計算機)只用了13分鍾,就算出π的3089個小數位。科技不斷進步,電腦的運算速度也越來越快,在60年代至70年代,隨著美、英、法的電腦科學家不斷地進行電腦上的競爭,π的值也越來越精確。

在1973年,Jean Guilloud和Martin Bouyer以電腦CDC 7600發現了π的第一百萬個小數位。

在1976年,新的突破出現了。薩拉明(Eugene Salamin)發表了一條新的公式,那是一條二次收斂算則,也就是說每經過一次計算,有效數字就會倍增。

高斯以前也發現了一條類似的公式,但十分復雜,在那沒有電腦的時代是不可行的。這演算法被稱為布倫特-薩拉明(或薩拉明-布倫特)演演算法,亦稱高斯-勒讓德演演算法。

1989年美國哥倫比亞大學研究人員用克雷-2型(Cray-2)和IBM-3090/VF型巨型電子計算機計算出π值小數點後4.8億位數,後又繼續算到小數點後10.1億位數。

2010年1月7日——法國工程師法布里斯·貝拉將圓周率算到小數點後27000億位。2010年8月30日——日本計算機奇才近藤茂利用家用計算機和雲計算相結合,計算出圓周率到小數點後5萬億位。

2011年10月16日,日本長野縣飯田市公司職員近藤茂利用家中電腦將圓周率計算到小數點後10萬億位,刷新了2010年8月由他自己創下的5萬億位吉尼斯世界紀錄。56歲的近藤茂使用的是自己組裝的計算機,從10月起開始計算,花費約一年時間刷新了紀錄。

F. python使用while循環計算圓周率的代碼

importrandom

m=n=0
i=0
whilei<1000000:
x=random.random()
y=random.random()
ifx*x+y*y<1:
m+=1
else:
n+=1
i+=1
print("PI約等於:%.20f"%(4*((m/1.0)/(m+n))))

使用隨機數,根據圓周面積S=PI*r*r

當r=1時,面積就是PI值,在第一象限中的四分之一個半圓就是四分之一個PI值,按照這個思路,可以設計上面的代碼,裡面的i值(就是隨機點數目)越大,得到的值越准確,看你電腦的運行速度了。

G. Python編程:求圓面積小於100的最大整數半徑,設圓周率為3.14,要求使用while語

按照題目要求編寫的求圓面積小於100的最大整數半徑的Python程序如下

r=0

s=0

while s<100:

r+=1

s=3.14*r*r

print("圓面積小於100的最大整數半徑為{}".format(r-1))

源代碼(注意源代碼的縮進)

H. python用隨機數計算圓周率PI 怎麼做 韓國學校作業

蒙特卡羅法計算圓周率(就是往一個正方形里丟石子)。
from __future__ import division
import random
import time

for j in range(2, 8):
startT = time.clock()
counter = 0
for i in range(10 ** j):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
if x**2 + y**2 < 1:
counter = counter + 1
endT = time.clock()
print (4 * (counter / 10 ** j))
print (endT - startT)
print "*" * 10

計算結果3.12
0.000603650921827
**********
3.128
0.0035999800338
**********
3.1356
0.0214809227182
**********
3.14212
0.216073908518
**********
3.141856
2.14863667725
**********
3.1418724
21.6984940915
**********

I. 利用沃利斯公式計算圓周率。要求用Python語言寫出相應的代碼,並用Python中的for循環完成

摘要 python利用公式計算π的方法:首先導入數學模塊及時間模塊;然後計算Pi精確到小數點後幾位數,代碼為【print(' {:=^70}'.format('計算開始'))】;最後完成計算,代碼為【print(' {:=^70}'】

J. 求用python計算圓周率小數點後10萬位的最快演算法 ,最好有代碼,謝謝

#-*-coding:gbk-*-
from__future__importdivision

####################導入時間模塊
importtime
###############計算當前時間
time1=time.time()
################演算法根據馬青公式計算圓周率####################

number=int(raw_input('請輸入想要計算到小數點後的位數n:'))

#多計算10位,防止尾數取捨的影響
number1=number+10

#算到小數點後number1位
b=10**number1

#求含4/5的首項
x1=b*4//5
#求含1/239的首項
x2=b//-239

#求第一大項
he=x1+x2
#設置下面循環的終點,即共計算n項
number*=2

#循環初值=3,末值2n,步長=2
foriinxrange(3,number,2):
#求每個含1/5的項及符號
x1//=-25
#求每個含1/239的項及符號
x2//=-57121
#求兩項之和
x=(x1+x2)//i
#求總和
he+=x

#求出π
pai=he*4
#舍掉後十位
pai//=10**10

############輸出圓周率π的值
paistring=str(pai)
result=paistring[0]+str('.')+paistring[1:len(paistring)]
printresult

time2=time.time()
printu'總共耗時:'+str(time2-time1)+'s'

python pi.py

閱讀全文

與python計算圓周率while函數相關的資料

熱點內容
app是什麼屬性 瀏覽:441
我的世界扁桃伺服器在什麼地方 瀏覽:65
下載免費pdf轉word軟體 瀏覽:396
javapdf轉換成word 瀏覽:165
php取一條記錄 瀏覽:134
cwindows高級編程 瀏覽:83
總想咬東西解壓 瀏覽:113
顯示擴展名的命令 瀏覽:285
androidascii碼轉字元串 瀏覽:312
php伺服器並發 瀏覽:644
kalilinux系統安裝 瀏覽:73
綠色生活app是什麼 瀏覽:677
槍火重生文件夾 瀏覽:183
程序員智商劃分 瀏覽:334
修煉一套好演算法 瀏覽:296
空氣凈化pdf 瀏覽:311
necc文件夾 瀏覽:18
linux跑火車 瀏覽:357
androidsdk版本兼容 瀏覽:1004
果加密碼鎖開鎖記錄 瀏覽:446