亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Python計算開方、立方、圓周率,精確到小數點后任意位的方法

Python計算開方、立方、圓周率,精確到小數點后任意位的方法

發布時間:2020-08-19 23:33:21 來源:腳本之家 閱讀:317 作者:jay&chuxu 欄目:開發技術

Python計算的位數

在電腦上做了一個實驗,看看python能計算到多少位,一下是結果。

x = math.sqrt((3))
print ("%.53f"%(x))
print ("%.63f"%(x))
print ("%.83f"%(x))
1.73205080756887719317660412343684583902359008789062500
1.732050807568877193176604123436845839023590087890625000000000000
1.73205080756887719317660412343684583902359008789062500000000000000000000000000000000
1.73205080756887719317660412343684583902359008789062500000000000000000000000000000000

計算立方根公式

設A = X^3,求X.稱為開立方。 開立方有一個標準的公式:

Python計算開方、立方、圓周率,精確到小數點后任意位的方法

例如,A=5,,即求5介于1的3次方至2的3次方之間(1的3次方=1,2的3次方=8)

初始值X0可以取1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,都可以。例如我們取X0 = 1.9按照公式:

第一步:X1=1.9+(5/1.9²-1.9)1/3=1.7;

即5/1.9×1.9=1.3850416,1.3850416-1.9=-0.5149584,-0.5149584×1/3=-0.1716528,1.9+(-0.1716528)=1.7。即取2位數值,,即1.7。

第二步:X2=1.7+(5/1.7²-1.7)1/3=1.71;

即5/1.7×1.7=1.73010,1.73-1.7=0.03,0.03×1/3=0.01,1.7+0.01=1.71。取3位數,比前面多取一位數。

第三步:X3=1.71+(5/1.71²-1.71)1/3=1.709;

第四步:X4=1.709+(5/1.709²-1.709)1/3=1.7099;

這種方法可以自動調節,第一步與第三步取值偏大,但是計算出來以后輸出值會自動轉小;第二步,第四步輸入值偏小,輸出值自動轉大。即5=1.7099³ 當然初始值X0也可以取1.1,1.2,1.3,。。。1.8,1.9中的任何一個,都是X1 = 1.7 。當然,我們在實際中初始值最好采用中間值,即1.5。 1.5+(5/1.5²-1.5)1/3=1.7。

增加計算步驟,可以得到任意精度的值

計算根號2任意位數

開平方公式

如果用這個公式開平方,只需將3改成2,2改成1。即

Python計算開方、立方、圓周率,精確到小數點后任意位的方法

import sys
n = 2
s = 0
while True:
 for si in range(9,-1,-1):
 nx = n - ((2*s*10+si)*si)
 if nx>=0:
  s = s*10+si
  n = nx*100
  sys.stdout.write(str(si))
  sys.stdout.flush()
  break

計算開5次方公式,精確至任意位數

Python計算開方、立方、圓周率,精確到小數點后任意位的方法

計算圓周率任意位數

因為根據馬青公式π/4=4arctg1/5-arctg1/239

又因為arctgX=X-(1/3)X^3+(1/5)X^5-(1/7)X^7+……+[(-1)^(n-1)/((2n-1)]*X^(2n-1))

變形得π/4=(4/5-1/239)-1/3(4/5^3-1/239^3)+1/5(4/5^5-1/239^5)……

所以可以用python語言編寫出求圓周率到任意位的程序如下:

n = int(raw_input('請鍵入想要計算到小數點后的位數n:')) #先鍵入字符串,再轉化為整數

w = n+10 #多計算10位,防止尾數取舍的影響

b = 10**w #算到小數點后w位

x1 = b*4//5 #求含4/5的首項

x2 = b// -239 #求含1/239的首項

he = x1+x2 #求第一大項

n *= 2 #設置下面循環的終點,即共計算n項

for i in xrange(3,n,2): #循環初值=3,末值2n,步長=2

x1 //= -25 #求每個含1/5的項及符號

x2 //= -57121 #求每個含1/239的項及符號

x = (x1+x2) // i #求兩項之和

he += x #求總和

pai = he*4 #求出π

pai //= 10**10 #舍掉后十位

print pai #輸出圓周率π的值,

以上這篇Python計算開方、立方、圓周率,精確到小數點后任意位的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额济纳旗| 西平县| 五河县| 华阴市| 北票市| 黎城县| 清苑县| 聂拉木县| 儋州市| 鸡东县| 衡水市| 利川市| 桐乡市| 萨嘎县| 游戏| 九寨沟县| 通河县| 七台河市| 石屏县| 麻江县| 元氏县| 崇明县| 青浦区| 双鸭山市| 漳浦县| 滨州市| 金门县| 射阳县| 大余县| 安泽县| 离岛区| 吴堡县| 绵竹市| 临清市| 昂仁县| 荆门市| 巨鹿县| 比如县| 炎陵县| 华池县| 井冈山市|