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