在尋找這個實數根的時候, 我們可以用測試的方法先確定根在實數軸上的區間, 例如:任選一個實數 a 若是 a^3 < y, 則可以測試 a + 1000 看看 (a+1000)^3 是否還是比 y 小, 若是的話再測試 a + 2000 看看, 或是把區間放大一點, 看看 a + 10000 的三次方如何, 直到找到一數 b 其三次方比 y 值大為止, 此時可以利用二分法檢查 a 到 (a+b)/2 以及 (a+b)/2 到 b 之間看看 x 應該在哪一個區間內, 一直繼續下去直到區間的長度小於 10^(-6) 為止, 由於本程式主要希望你練習
這種方法並沒有考慮效率及適當的精確度, 可以說是一種"暴力"的解根法, 此外, 如果一開始時 a^3 > y, 那麼必須朝向 a-100, a-1000 的方向去尋找 b 值, 以此類推。
注意:本程式有可能用到 math.h 中的 fabs() 函式來求浮點數的絕對值。
回
程式設計課程
首頁
by Pei-yih Ting
E-mail: pyting@cs.ntou.edu.tw