二分法求解 精確到小數點後 10 位

2021-09-26 13:14:41 字數 770 閱讀 6664

題目:已知 sqrt (2)約等於 1.414,要求不用數學庫,求 sqrt (2)精確到小數點後 10 位

考察點

基礎演算法的靈活應用能力,二分法學過資料結構的同學都知道,但不一定往這個方向考慮

退出條件設計:前後兩次的差值的絕對值<=0.0000000001, 則可退出

# 定義乙個最終的二分退出的標準,小數點後10位

global a

a = 0.0000000001

def search():

low = 1.4

high = 1.5

mid = (low + high) / 2;

# 前後兩次的差值的絕對值 <= 0.0000000001, 則可退出

while(high-low>a):

if(high*high>2):

high=mid

else:

low=mid

mid=(low + high)/2

print("最終的low 的值: % s" %low)

print("最終的high的值: % s" %high)

print("最終的mid 的值: % s" %mid)

if __name__ == "__main__":

search()

最終:

二分法求解方程

二分法是一種求解方程近似根的方法。對於乙個函式 f x f x 使用二分法求 f x f x 近似解的時候,我們先設定乙個迭代區間 在這個題目上,我們之後給出了的兩個初值決定的區間 20,20 20,20 區間兩端自變數 xx 的值對應的 f x f x 值是異號的,之後我們會計算出兩端 xx的中點...

精確到小數點後n位的兩種方法

引言 大家在寫程式中多多少少會遇到這個問題,特別對一些初學者會出現這個問題,做個acm競賽的同學肯定都會用c語言的printf格式控制輸出,但是習慣於用c 的同學也不是一點辦法都沒有啊,這篇blog中會介紹c 中如何使用,雖然稍微複雜一定,但是也不失為一種方法。首先看一下 以求四個整數的和與平均值為...

精確到小數點後n位的兩種方法

引言 大家在寫程式中多多少少會遇到這個問題,特別對一些初學者會出現這個問題,做個acm競賽的同學肯定都會用c語言的printf格式控制輸出,但是習慣於用c 的同學也不是一點辦法都沒有啊,這篇blog中會介紹c 中如何使用,雖然稍微複雜一定,但是也不失為一種方法。首先看一下 以求四個整數的和與平均值為...