Я добавляю другое решение, на этот раз используя рекурсию, чтобы найти n-й номер гармоники.
Общая информация о реализации
Прототип функции: harmonic_recursive(n)
Параметры функции: n
- номер n-й гармоники
Базовый случай: Если n
равно 1
, вернуть 1.
Повторный шаг: Если не базовый случай, вызовите harmonic_recursive
для термина n-1
и добавьте полученный результат с 1/n
. Таким образом, мы каждый раз добавляем i-й член ряда Гармоник с суммой всех предыдущих членов до этой точки.
псевдокод
(это решение может быть легко реализовано и на других языках.)
harmonic_recursive(n):
if n == 1:
return 1
else:
return 1/n + harmonic_recursive(n-1)
код Python
def harmonic_recursive(n):
if n == 1:
return 1
else:
return 1.0/n + harmonic_recursive(n-1)