Mój szef właśnie powiedział mi, żebym napisał funkcję cosinus. Będąc dobrym maniakiem matematyki, mój umysł natychmiast wyczarował odpowiedni serial Taylora.
cos(x) = 1 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ... + (-1)^k x^(2k) / (2k)! + ...
Jednak mój szef jest bardzo wybredny. Chciałby móc dokładnie określić, ile terminów z serii Taylor należy obliczyć. Czy możesz mi pomóc napisać tę funkcję?
Twoje zadanie
Biorąc pod uwagę zmiennoprzecinkową wartość x
od 0
do 2 pi
i dodatnią liczbę całkowitą n
mniejszą niż 100
, oblicz sumę pierwszych n
składników szeregu Taylora podanych powyżej dla cos(x)
.
To jest golf golfowy , więc wygrywa najkrótszy kod. Dane wejściowe i wyjściowe można pobierać na dowolny ze standardowych sposobów. Standardowe luki są zabronione.
Uwagi
- Dane wejściowe można przyjmować w dowolnej rozsądnej formie, o ile istnieje wyraźny rozdział między
x
in
. - Dane wejściowe i wyjściowe powinny być wartościami zmiennoprzecinkowymi, co najmniej tak dokładnymi jak obliczanie formuły przy użyciu liczb zmiennoprzecinkowych IEEE o pojedynczej precyzji z pewnymi standardowymi regułami zaokrąglania.
- Jeśli ma to sens dla używanego języka, obliczenia mogą być wykonywane przy użyciu dokładnych wielkości wymiernych, ale dane wejściowe i wyjściowe powinny być nadal w postaci dziesiętnej.
Przykłady
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
to też jest większe niż0
?