日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python迭代法求平方根_1021: 迭代法求平方根

發布時間:2025/3/15 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python迭代法求平方根_1021: 迭代法求平方根 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

用迭代法求 平方根

公式:求a的平方根的迭代公式為: X[n+1]=(X[n]+a/X[n])/2 要求前后兩次求出的差的絕對值少于0.00001。 輸出保留3位小數

輸入

X

輸出

X的平方根

樣例輸入

4

樣例輸出

2.000

一、解題代碼

代碼如下(示例):

x=int(input())

x1=x/2

x2=(x1+x/x1)/2

while abs(x1-x2)>0.00001:

x1=x2

x2=(x1+x/x1)/2

print('{:.3f}'.format(x2))

二、解題思路

1、假設要求6的平方根,當Xn和X(n+1)的差值小于0.001時,可以認為已經找到了精確值。

2、根據牛頓迭代法的步驟,首先猜測一個值X1,猜測X1=6/2=3。

3、將X1=3代入公式X(n+1)=(Xn+a/Xn)/2,則X2=(X1+6/X1)/2=(3+6/3)/2=2.5,由于3和2.5的差大于0.001,需要繼續計算。

4、將X2=2.5代入公式X(n+1)=(Xn+a/Xn)/2,則X3=(X2+6/X2)/2=(2.5+6/2.5)/2=2.45,由于2.5-2.45=0.5>0.001,故需要繼續計算。

5、將X3=2.45代入公式X(n+1)=(Xn+a/Xn)/2,則X4=(X3+6/X3)/2=(2.45+6/2.45)/2=2.4495,由于2.5-2.4495=0.0005<0.001,故不需要繼續計算。

6、則可以確定6的平方根,在自己認為的精確的范圍內,即誤差小于0.001的范圍內,值為2.4495,即 √(6)=2.4495。

圖文轉自https://jingyan.baidu.com/article/f79b7cb31082079144023ebb.html

總結

鍵盤輸入數字后,首先根據題目所給的公式算出X1和X2的值

使用while循環來執行程序,用X1和X2的差的絕對值來和0.00001作對比

若差大于0.00001,則需要繼續計算

print('{:.3f}'.format(x2)) 輸出保留三位小數

浮點數輸出:格式化輸出

%f ——保留小數點后面六位有效數字

%.3f,保留3位小數位

%e ——保留小數點后面六位有效數字,指數形式輸出

%.3e,保留3位小數位,使用科學計數法

%g ——在保證六位有效數字的前提下,使用小數方式,否則使用科學計數法

%.3g,保留3位有效數字,使用小數或科學計數法

以下是if和for和while的區別

if:

語句的判斷條件可以用>(大于)、=(大于等于)、<=(小于等于)來表示其關系。

如果條件成立,執行條件后的代碼塊內容,不成立,直接跳過代碼塊(代碼只執行一次)。

for:

for循環可以遍歷任何序列的項目,如一個列表或者一個字符串;

while:

用于循環執行程序,即在某條件下,循環執行某段程序,以處理需要重復處理的相同任務。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。

在給定的判斷條件為 true 時執行循環體,否則退出循環體。

總結

以上是生活随笔為你收集整理的python迭代法求平方根_1021: 迭代法求平方根的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。