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