Мой босс только что сказал мне написать функцию косинуса. Будучи хорошим математическим фанатом, мой разум сразу же вызвал соответствующую серию Тейлора.
cos(x) = 1 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ... + (-1)^k x^(2k) / (2k)! + ...
Тем не менее, мой босс очень разборчив. Он хотел бы иметь возможность точно указать, сколько терминов из ряда Тейлора вычислить. Можете ли вы помочь мне написать эту функцию?
Твое задание
Учитывая значение x
с плавающей запятой от 0
до 2 pi
и положительное целое число n
меньше чем 100
, вычислите сумму первых n
членов ряда Тейлора, приведенных выше для cos(x)
.
Это код-гольф , поэтому выигрывает самый короткий код. Ввод и вывод могут быть приняты любым из стандартных способов. Стандартные лазейки запрещены.
Заметки
- Входные данные могут быть приняты в любой разумной форме, если есть четкое разделение между
x
иn
. - Вход и выход должны быть значениями с плавающей запятой, по крайней мере, такими же точными, как вычисление формулы с использованием чисел с плавающей запятой одинарной точности IEEE с некоторым стандартным правилом округления.
- Если это имеет смысл для используемого языка, вычисления могут выполняться с использованием точных рациональных величин, но входные и выходные данные все еще должны быть в десятичной форме.
Примеры
x | n | Output
----+----+--------------
0.0 | 1 | 1.0
0.5 | 1 | 1.0
0.5 | 2 | 0.875
0.5 | 4 | 0.87758246...
0.5 | 9 | 0.87758256...
2.0 | 2 | -1.0
2.0 | 5 | -0.4158730...
n
это также больше, чем0
?