Python實現計算圓周率π的值到任意位的方法示例


Python實現計算圓周率π的值到任意位的方法示例

 
這篇文章主要介紹了Python實現計算圓周率π的值到任意位的方法,簡單分析了圓周率的計算原理,並結合實例形式分析了Python計算圓周率的相關操作技巧,需要的朋友可以參考下
 

本文實例講述了Python實現計算圓周率π的值到任意位的方法。分享給大家供大家參考,具體如下:

一、需求分析

輸入想要計算到小數點后的位數,計算圓周率π的值。

二、算法:馬青公式

π/4=4arctan1/5-arctan1/239

這個公式由英國天文學教授約翰·馬青於1706年發現。他利用這個公式計算到了100位的圓周率。馬青公式每計算一項可以得到1.4位的十進制精度。因為它的計算過程中被乘數和被除數都不大於長整數,所以可以很容易地在計算機上編程實現。

三、python語言編寫出求圓周率到任意位的程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# -*- coding: utf-8 -*-
from __future__ import division
####################導入時間模塊
import time
###############計算當前時間
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
for i in xrange ( 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)]
print result
time2 = time.time()
print u '總共耗時:' + str (time2 - time1) + 's'

運行結果:

請輸入想要計算到小數點后的位數n:20
3.14159265358979323846
總共耗時:9.77699995041s

請輸入想要計算到小數點后的位數n:50
3.14159265358979323846264338327950288419716939937510
總共耗時:2.30099987984s

運行截圖如下:

PS:這里再為大家推薦幾款計算工具供大家參考使用:

在線一元函數(方程)求解計算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科學計算器在線使用_高級計算器在線計算:
http://tools.jb51.net/jisuanqi/jsqkexue

在線計算器_標准計算器:
http://tools.jb51.net/jisuanqi/jsq

更多關於Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM