Найти сумму числового ряда - QBasic
Формулировка задачи:
Задан ряд
1 + 2/(3*4) + (5*6)/(7*8*9) + (10*11*12)/(13*14*15*16) + ...
Всего 25 слагаемых (625 натуральных чисел)
Алгоритм ряда очевиден. Найти сумму этого ряда
Для решения задачи была использована формула
1 + 3 + 5 + ... (2n-1) = n2
Вопросы
1. Есть ли иное решение?
2. Я ходил около рекурсивного решения, но не нашел?
3. Изначально я хотел для этого ряда задать число
натуральных чисел, из которых он состоит, но эта задача
оказалась сложнее. И я решил задавать число слагаемых.
Может это не так сложно, как я думаю?
примечание
Очевидно, что если слагаемых N, то число натуральных
чисел N2
Решение задачи: «Найти сумму числового ряда»
textual
Листинг программы
DIM s AS DOUBLE, m AS DOUBLE, i AS LONG, j AS LONG, k AS LONG s = 1 k = 1 FOR i = 1 TO 24 m = 1 FOR j = 1 TO i k = k + 1 m = m * k / (k + i) NEXT j k = k + j m = m / k s = s + m NEXT i PRINT s
Объяснение кода листинга программы
- Переменная
s
инициализируется значением 1. - Переменная
m
инициализируется значением 1. - Переменная
i
инициализируется значением 1. - Переменная
j
инициализируется значением 1. - Переменная
k
инициализируется значением 1. - Запускается цикл
FOR
для переменнойi
от 1 до 24. - Внутри цикла
FOR
переменнойm
присваивается значение 1. - Запускается вложенный цикл
FOR
для переменнойj
от 1 до текущего значения переменнойi
. - Внутри вложенного цикла
FOR
переменнойk
присваивается значение текущего значения переменнойk
+ значение переменнойj
. - Переменной
m
присваивается значениеk * (k + i)
/ (k + i). - Выполняется команда
NEXT j
, чтобы перейти к следующей итерации вложенного цикла. - Значение переменной
k
увеличивается на значение переменнойj
. - Переменной
m
присваивается значениеm / k
. - Значение переменной
s
увеличивается на значение переменнойm
. - Выполняется команда
NEXT i
, чтобы перейти к следующей итерации внешнего цикла. - Значение переменной
k
увеличивается на значение переменнойi
. - Переменной
m
присваивается значение 1. - После завершения циклов выводится значение переменной
s
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д