Option Explicit

Function f(a)

    Dim x As Double

    x = a

    f = x * x * x - 6 * x * x - 13 * x + 42

End Function


Function BISEC(x_first, x_last, DDelta, epsilon, Max_iteration)

    Dim x_1 As Double

    Dim delta As Double

    

    x_1 = x_first

    delta = DDelta

    

    Dim x_2 As Double

    x_2 = x_1 + delta

    

    Dim result As Double

    Dim i As Integer

    

    For i = 0 To Max_iteration

        result = f(x_1) * f(x_2)

        If result < 0 Then

            If -result > epsilon Then

                BISEC = x_2

            End If

            delta = 0.5 * delta

            Call BISEC(x_1, x_2, delta, epsilon, Max_iteration)

        Else

            x_1 = x_1 + delta

            x_2 = x_2 + delta

        End If

        If x_1 > x_last Then

            BISEC = x_last + 10

        End If

    Next i

    

    BISEC = x_last + 5

End Function


그래서 머가문젠데