Не знаю как развязать арифметическую и геометрическую прогрессию. - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д