Определение
В математике гармоническая последовательность относится к последовательности, в которой
т.е. n- й член последовательности равен обратной величине n .
Вступление
В этой задаче, учитывая положительное целое число n в качестве входных данных, выведите частичную сумму первых n членов гармонической последовательности.
вход
Вам будет дано положительное целое число (в диапазоне чисел, поддерживаемых вашим языком). Это могут быть подписанные и неподписанные (зависит от вас), поскольку для задания требуются только положительные целые числа.
Вы можете принять входные данные любым способом, кроме предположения, что они присутствуют в предопределенной переменной. Чтение из файла, терминала, модального окна ( prompt()
в JavaScript) и т. Д. Разрешено. Также возможно использование ввода в качестве аргумента функции.
Выход
Ваша программа должна вывести сумму первых n слагаемых гармонической последовательности в виде числа с плавающей запятой (или целого числа, если выходные данные равномерно делятся на 1) с точностью до 5 значащих цифр, где n относится к входным данным. Чтобы передать то же самое в математическом жаргоне, вам нужно вычислить
где n относится к входу.
Вы можете выводить любым способом, кроме записи выходных данных в переменную. Запись на экран, в терминал, файл, модальное окно ( alert()
в JavaScript) и т. Д. Разрешена. Вывод в виде return
значения функции также допускается.
Дополнительные правила
Номер ввода может быть либо 0-индексирован, либо 1-индексирован. Вы должны указать это в своем посте.
Вы не должны использовать встроенную функцию для вычисления частичной суммы первых n элементов. (Да, это для вас Mathematica!)
Вы не должны злоупотреблять типами собственных чисел, чтобы тривиализировать проблему .
Стандартные лазейки применяются.
Тестовые случаи
Тестовые случаи предполагают, что вход будет 1 проиндексирован
Input Output
1 1
2 1.5
3 1.8333
4 2.0833
5 2.2833
Критерий победы
Это код-гольф , поэтому выигрывает самый короткий код в байтах!
9.9999E10
а не99999999999.9999999999
Ответы:
Желе , 3 байта
Попробуйте онлайн!
1-индексироваться.
Объяснение:
источник
Python 3, 27 байт
источник
RuntimeError
при обработке ввода больше предела рекурсии, по умолчанию 1000.sys.setrecursionlimit(473755252663)
но стек в конечном итоге будет довольно легко переполненJavaScript,
1918 байт1 байт сохранен благодаря @RickHitchcock
Это 1-индексированный.
источник
f=
из своего ответа, чтобы сэкономить 2 байта.f=
потому что функция рекурсивная и ссылается на себя вf(--a)
. Но если бы это не было рекурсивным решением, я бы смог это сделатьf=a=>a&&1/a+f(--a)
.APL (Dyalog) , 5 байтов
Попробуйте онлайн!
Вы можете добавить
⎕PP←{number}
в заголовок, чтобы изменить точность{number}
.Это 1-индексированный.
объяснение
источник
Mathematica,
212016 байтЭто решение 1-проиндексировано.
источник
Tr[1./Range@#]&
.PHP, 33 байта
1 индексация
Попробуйте онлайн!
источник
Пари / ГП , 18 байт
1 индексации.
Попробуйте онлайн!
источник
CJam , 11 байт
Попробуйте онлайн!
1-индексироваться.
источник
Japt
-x
,8653 байтаС некоторой благодарностью ETHproductions
Попробуйте онлайн
источник
õ x@1/X
XpJ
вместо1/X
:-)_
из-за авто-функций. Я действительно должен написать этот совет: P (у меня должно быть время сегодня или завтра, потому что это День памяти)CJam ,
1110 байт1 байт удален благодаря Эрику
При этом используется индексирование на основе 1.
Попробуйте онлайн!
объяснение
источник
W
вместо-1
.Haskell, 20 байтов
Исходное решение, 22 байта
Эти решения предполагают ввод с 1 индексом.
источник
R 15 байт
Попробуйте онлайн!
источник
Tcl 38 bytes
That's a very dirty hack, and the recursive calls pass literal strings like "5-1-1-1..." until it evaluates to 0.
источник
05AB1E, 3 bytes
Try it online!
1-indexed.
источник
MATL, 5 bytes
This solution uses 1-based indexing.
Try it at MATL Online
Explanation
источник
Axiom,
4534 bytes1-Indexed; It has argument one positive integer(PI) and return "Any" that the sys convert (or not convert) to the type useful for next function arg (at last it seems so seeing below examples)
источник
Pyth, 5 bytes
Try it here.
1-indexed.
источник
C, 54 bytes
Uses 1-indexed numbers.
источник
Brachylog, 6 bytes
Try it online!
This is 1-indexed.
Explanation
источник
QBIC, 13 bytes
Explanation
источник
Gol><>, 8 bytes
Try it online!
Example full program & How it works
источник
Haskell, 21 bytes
источник
C (gcc), 35 bytes
Try it online!
источник
Braingolf, 20 bytes [non-competing]
This won't actually work due to braingolf's inability to work with floats, however the logic is correct.
Explanation:
Here's a modified interpreter that supports floats. First argument is input.
источник
Tcl, 61 bytes
Try it online!
источник