題目:已知 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 中如何使用,雖然稍微複雜一定,但是也不失為一種方法。首先看一下 以求四個整數的和與平均值為...