2011年10月17日 星期一

二分搜尋法

請以二分搜尋法的方式,求2的平方根及3的三次方根。
說明:1,本題限制不能使用內定的函數來求解。(就是不能用sqrt(x)函數)
2,提示,在1和2之間,以二分搜尋法找x,然後比較x*x 和 2的大小關係。(另一個,當然就是x*x*x和3的大小關係啦。)

2 則留言:

  1. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #2

    Call A1(2)
    Call A1(3)


    Close
    End
    End Sub


    Sub A1(a)


    Dim F As Double, L As Double, k As Double


    F = 1: L = 2
    Do Until F > L Or k ^ a = a
    k = (F + L) / 2
    If k ^ a > a Then L = k - 0.001
    If k ^ a < a Then F = k + 0.001
    Loop

    Print #2, k


    End Sub

    回覆刪除
  2. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #2
    Call ABC(2)
    Call ABC(3)
    Close #2
    End
    End Sub

    Sub ABC(A)
    S = 1
    F = 2
    M = (S + F) / 2
    B = A ^ (1 / A)
    Do Until M = B
    If B > M Then S = M
    If B < M Then F = M
    M = (S + F) / 2
    Loop
    Print #2, M
    End Sub

    回覆刪除