Вычислить s = 1 + x^2 + x^4 + ... + x^2n (|x| < 1). Вычисления прекратить, когда очередной член суммы будет меньше ε = 0,0001. VBA

нужна помощь с задачей. Не понимаю, почему результат выводит неверный. Условия в задании, нужно использовать циклы.

Sub n4()
    Dim s As Double, x As Double, e As Double, n As Double
    e = 0.0001
    x = InputBox("Введите x меньше единицы:")
    n = 0
    s = 0
    Do Until x > e
        s = x ^ (2 * n) + s
        n = n + 1
        If x < e Then Exit Do
    Loop
    MsgBox (s)
End Sub

Ответы (1 шт):

Автор решения: vikttur
Sub n4()
    Dim s As Double, x As Double, n As Long
    Const e As Double = 1.221
    
    x = InputBox("Введите x меньше единицы:")
    If x >= 1 Then MsgBox ("Ошибка"): Exit Sub
    
    Do
        s = x ^ (2 * n) + s
        n = n + 1
    Loop Until s > e
    
    MsgBox s, 64, "РЕЗУЛЬТАТ"
End Sub
→ Ссылка