Не знаю как развязать арифметическую и геометрическую прогрессию. - VB

Узнай цену своей работы

Формулировка задачи:

пользователем задана последовательность трех чисел K1, K2, K3. Если они образуют арифметическую или геометрическую прогрессию , найти сумму всех ее членов с номерами от N до M : Kn + Kn+1 + Kn+2 + ... + Km-1 + Km. натуральные числа N и M задаются пользователем (M>=N>=1) Помогите решить. Очень нужно.

Решение задачи: «Не знаю как развязать арифметическую и геометрическую прогрессию.»

textual
Листинг программы
Option Explicit
 
Private Sub Form_Load()
    Dim k1 As Double, k2 As Double, k3 As Double
    Dim m  As Long, n  As Long, q  As Double
    Dim it As Double, s  As Double
    
    k1 = InputBox("k1", vbNullString, "0")
    k2 = InputBox("k2", vbNullString, "1")
    k3 = InputBox("k3", vbNullString, "2")
    n = InputBox("n", vbNullString, "1")
    m = InputBox("m", vbNullString, "2")
    
    n = n - 1
    
    If k2 - k1 = k3 - k2 Then
        ' Арифметическая
        q = k2 - k1
        s = (2 * k1 + (n - 1) * q) * n / 2
        s = (2 * k1 + (m - 1) * q) * m / 2 - s
    ElseIf k2 / k1 = k3 / k2 Then
        ' Геометрическая
        q = k2 / k1
        s = (k1 * (1 - (q ^ n))) / (1 - q)
        s = (k1 * (1 - (q ^ m))) / (1 - q) - s
    Else
        ' Просто набор чисел
        MsgBox "Не является прогрессией"
        Exit Sub
    End If
    
    MsgBox "Сумма = " & s
    
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы