Definicja
Maksima i minima danej funkcji są największymi i najmniejszymi wartościami funkcji, które mieszczą się w danym zakresie lub poza nią w całej dziedzinie funkcji.
Wyzwanie
Wyzwanie polega na znalezieniu lokalnych maksimów i minimów danej funkcji wielomianowej za pomocą dowolnej metody . Nie martw się, postaram się jak najlepiej wyjaśnić wyzwanie i postarać się, aby było to możliwie najprostsze.
Dane wejściowe będą zawierać wszystkie współczynniki wielomianu pojedynczej zmiennej w kolejności malejącej lub rosnącej mocy (do ciebie). Na przykład,
[3,-7,1]
będzie reprezentować3x2 - 7x + 1 = 0
[4,0,0,-3]
będzie reprezentować4x3-3=0.
Jak rozwiązać (przy użyciu instrumentów pochodnych)?
Powiedzmy teraz, że nasz wkład to [1,-12,45,8]
tylko funkcja .x3 - 12x2 + 45x + 8
Pierwszym zadaniem jest znalezienie pochodnej tej funkcji. Ponieważ jest to funkcja wielomianowa, więc jest to rzeczywiście proste zadanie do wykonania.
Pochodną jest . Wszelkie obecne stałe warunki są po prostu mnożone. Ponadto, jeśli są dodawane / odejmowane terminy, wówczas ich pochodne są odpowiednio dodawane lub odejmowane. Pamiętaj, że pochodną dowolnej stałej wartości liczbowej jest zero. Oto kilka przykładów:
xn
n*xn-1
xn
x3 -> 3x2
9x4 -> 9*4*x3 = 36x3
-5x2 -> -5*2*x = - 10x
2x3 - 3x2 + 7x -> 6x2 - 6x + 7
4x2 - 3 -> 8x - 0 = 8x
Teraz rozwiąż równanie, zrównując nowy wielomian do zera i uzyskaj tylko wartości całkowite x.
Umieść te wartości x w oryginalnej funkcji i zwróć wyniki. To powinno być wyjście .
Przykład
Weźmy przykład, o którym wspominaliśmy wcześniej, tj [1,-12,45,8]
.
- Wejście:
[1,-12,45,8]
- Funkcjonować:
x3 - 12x2 + 45x + 8
- Pochodna ->
3x2 - 24x + 45 + 0 -> [3,-24,45]
- Rozwiązując równanie , otrzymujemy lub .
3x2 - 24x + 45 = 0
x = 3
x = 5
- Teraz wstawiając
x = 3
ix = 5
do funkcji, otrzymujemy wartości(62,58)
. - Wyjście ->
[62,58]
Założenia
Załóżmy, że wszystkie współczynniki wejściowe są liczbami całkowitymi . Mogą być w rosnącym lub malejącym porządku mocy.
Załóżmy, że wejście jest co najmniej 2-stopniowym wielomianem . Jeśli wielomian nie ma rozwiązań liczb całkowitych, możesz zwrócić wszystko.
Załóżmy, że końcowym wynikiem będą tylko liczby całkowite.
Możesz wydrukować wyniki w dowolnej kolejności. Stopień wielomianu wejściowego nie będzie większy niż 5, aby Twój kod mógł to obsłużyć.
Dane wejściowe będą ważne, aby rozwiązania x nie były punktami siodłowymi.
Ponadto nie musisz tego robić metodą pochodną. Możesz użyć dowolnej metody.
Przykładowe wejście i wyjście
[2,-8,0] -> (-8)
[2,3,-36,10] -> (91,-34)
[1,-8,22,-24,8] -> (-1,0,-1)
[1,0,0] -> (0)
Punktacja
To jest golf golfowy, więc wygrywa najkrótszy kod.
(-1, 0, 1)
, co moim zdaniem jest właściwą poprawną odpowiedzią ... choć nie jestem pewien. Jeśli nie zgadzasz się ze mną, pinguj mnie na czacie.
The input will be valid so that the solutions of x are not saddle points
, sprawa [1,0,0,3]
wydaje się dać punkt siodłowy.
x^3 - 12x^2 + 45x
+ 8 = 0
, chociaż osobiście wolę, abyś napisał go tak, jak f(x)=x^3-12x^2+45x+8
bez, =0
ponieważ =0
nie ma to sensu, ponieważ mamy do czynienia z funkcją, a nie rozwiązywaniem równania.