Мій начальник щойно сказав мені написати косинусну функцію. Будучи хорошим математичним вунком, мій розум одразу ж вигадав відповідну серію Тейлора.
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
?