有進度條圓周率 計算

2022-08-26 00:36:37 字數 1923 閱讀 5132

圓周率π的計算

一、圓周率π的簡介

圓周率用希臘字母 π(讀作pài)表示,是乙個常數(約等於3.141592654),是代表圓周長和直徑的比值。它是乙個即無限不迴圈小數,在日常生活中,通常都用3.14代表圓周率去進行近似計算。

2023年,英國數學家約翰·沃利斯(john wallis)出版了一本數學專著,其中他推導出乙個公式,發現圓周率等於無窮個分數相乘的積。

2023年,羅切斯特大學的科學家們在氫原子能級的量子力學計算中發現了圓周率相同的公式。

2023年3月14日,谷歌宣布圓周率現已到小數點後31.4萬億位。

此處用乙個自我感覺『良好』的公式進行求解,說良好是因為計算結果相對準確,但計算過程用時較長,一起來學習吧~~~

二、圓周率的近似計算

1. 計算公式 

2. 方法講解

所用公式等式右邊分子都為1,分母為遞增數列,從第一項開始,奇數項符號為正,偶數項符號為負。等式右邊的分母越大,越小,圓周率π計算的值越精確;換個角度講,就是等式右邊的項越多,計算的值越精確。

3. **實現(python)

1 from math import fabs           #匯入數學模組

2 from time import perf_counter #匯入時間模組

3 4 def bar(i): #動態文字條

5 n = pow(10,level)

6 a = int((i/n)*50)

7 b = 50 - a

8 y , n = '*' * a , '.' * b

9 print("\r計算中:% [{}->{}] s"

10 .format(2*a,y,n,perf_counter()),end='')

11

12 level = eval(input('計算pi精確到小數點後幾位數:'))

13 print('\n'.format('計算開始'))

14 a,b,pi,tmp = 1,1,0,1

15 i = 0

16 '''

17 a 分子 | b 分母 | pi 圓周率

18 tmp 儲存a/b的值 | i 執行進度

19 '''

20 perf_counter() #開始計時

21 while (fabs(tmp) >= pow(10,-level)): #計算pi

22 pi += tmp

23 b += 2

24 a = -a

25 tmp = a/b

26 i += 2

27 bar(i) #呼叫函式,實時顯示計算進度

28 29 print('\n'.format('計算完成'))

30 print('\npi的計算值為:{}'.format(round(pi*4,level))) #輸出計算結果

4. 示例

由上面3張可知,精確到小數點後1位只要6.68秒,精確到小數點後2位也需要45.44秒。這種方法固然好,但計算起來仍需要很長一段時間。

《圓周率π》是個奇妙而美麗的存在,它是個無限不迴圈小數,就像是一種缺陷美,只要你有發現美的眼睛!

有進度條圓周率計算

一 安裝tqdm函式庫 tqdm是乙個強大的終端進度條工具,我利用pip獲取tqdm函式庫。1 開啟執行,輸入 cmd 2 2 輸入pip install 你要安裝的庫 如 pip install tqdm 此處我已經裝好了。二 編寫 我用書上的 from random import random ...

帶有進度條的圓周率計算

梅欽公式 計算 的方法還有很多種,在這裡我就不一一枚舉了。在下面的程式中,我採用梅欽方法來計算圓周率。進度條是書中已有的進度條。1 import math 2import time 3 scale 10 4print 執行開始 5 t time.process time 6for i in rang...

用Python算帶有進度條的圓周率

圓的周長與直徑的比值 圓周率 pi 是圓的周長與直徑的比值,一般用希臘字母 表示,是乙個在數學及物理學中普遍存在的數學常數。也等於圓形之面積與半徑平方之比。是精確計算圓周長 圓面積 球體積等幾何形狀的關鍵值。在分析學裡,可以嚴格地定義為滿足sin x 0的最小正實數x。圓周率用希臘字母 讀作p i ...