C++ Bc. 9

Z GeoWikiCZ
Přejít na: navigace, hledání
Maclaurinův rozvoj

Napište funkci, která počítá Maclaurinův rozvoj


(1+x)^a = 1 + ax
+ {a(a-1)\over{2!}}x^2
+ {a(a-1)(a-2)\over{3!}}x^3
+ {a(a-1)(a-2)(a-3)\over{4!}}x^4
+ \ldots

Pro nezáporná celá čísla a je rozvoj platný pro všechna x. Pokud a není nezáporné celé číslo, pak je tento rozvoj platný pouze pro -1 < x < 1.

V případě, že jsou zadány neplatné parametry při volání funkce, vyvolejte výjimku Chyba.

Zkontrolujte s využitím standardní funkce std::pow(double a, double b), která počítá obecnou mocninu a^b.


Příklad výstupu:

-1.20 -2.00  ...
-1.20 -1.00  ...
-1.20 +0.00  +1.000000  +1.000000 0.000000e+00 2
-1.20 +1.00  -0.200000  -0.200000 0.000000e+00 3
-1.20 +2.00  +0.040000  +0.040000 5.551115e-17 4
------------------------------------------------------------------------
-0.80 -2.00 +25.000000 +25.000000 8.908785e-11 133
-0.80 -1.00  +5.000000  +5.000000 1.834444e-11 118
-0.80 +0.00  +1.000000  +1.000000 0.000000e+00 2
-0.80 +1.00  +0.200000  +0.200000 0.000000e+00 3
-0.80 +2.00  +0.040000  +0.040000 6.938894e-18 4
------------------------------------------------------------------------
-0.40 -2.00  +2.777778  +2.777778 1.755041e-12 34
-0.40 -1.00  +1.666667  +1.666667 7.680523e-13 31
-0.40 +0.00  +1.000000  +1.000000 0.000000e+00 2
-0.40 +1.00  +0.600000  +0.600000 0.000000e+00 3
-0.40 +2.00  +0.360000  +0.360000 0.000000e+00 4
------------------------------------------------------------------------
+0.00 -2.00  +1.000000  +1.000000 2.220446e-16 2
+0.00 -1.00  +1.000000  +1.000000 1.110223e-16 2
+0.00 +0.00  +1.000000  +1.000000 0.000000e+00 2
+0.00 +1.00  +1.000000  +1.000000 0.000000e+00 2
+0.00 +2.00  +1.000000  +1.000000 2.220446e-16 2
------------------------------------------------------------------------
+0.40 -2.00  +0.510204  +0.510204 1.236788e-13 36
+0.40 -1.00  +0.714286  +0.714286 1.315614e-13 32
+0.40 +0.00  +1.000000  +1.000000 0.000000e+00 2
+0.40 +1.00  +1.400000  +1.400000 0.000000e+00 3
+0.40 +2.00  +1.960000  +1.960000 0.000000e+00 4
------------------------------------------------------------------------
+0.80 -2.00  +0.308642  +0.308642 1.266764e-13 153
+0.80 -1.00  +0.555556  +0.555556 2.191580e-13 128
+0.80 +0.00  +1.000000  +1.000000 0.000000e+00 2
+0.80 +1.00  +1.800000  +1.800000 0.000000e+00 3
+0.80 +2.00  +3.240000  +3.240000 4.440892e-16 4
------------------------------------------------------------------------
+1.20 -2.00  ...
+1.20 -1.00  ...
+1.20 +0.00  +1.000000  +1.000000 0.000000e+00 2
+1.20 +1.00  +2.200000  +2.200000 0.000000e+00 3
+1.20 +2.00  +4.840000  +4.840000 0.000000e+00 4
------------------------------------------------------------------------

[ Zpět | C++ | Další ]