Definizione
I massimi e i minimi di una determinata funzione sono i valori più grandi e più piccoli della funzione all'interno di un determinato intervallo o comunque nell'intero dominio della funzione.
Sfida
La sfida è trovare i massimi e i minimi locali di una determinata funzione polinomiale usando qualsiasi metodo che ti piaccia . Non preoccuparti, farò del mio meglio per spiegare la sfida e renderla il più semplice possibile.
L'input conterrà tutti i coefficienti del singolo polinomio variabile in ordine decrescente o crescente di potenza (fino a te). Per esempio,
[3,-7,1]
rappresenterà3x2 - 7x + 1 = 0
[4,0,0,-3]
rappresenterà4x3-3=0.
Come risolvere (utilizzando i derivati)?
Ora, supponiamo che il nostro input sia [1,-12,45,8]
, che non è altro che la funzione .x3 - 12x2 + 45x + 8
Il primo compito è trovare la derivata di quella funzione. Dal momento che è una funzione polinomiale, quindi è davvero un compito semplice da fare.
Il derivato di è . Tutti i termini costanti presenti sono semplicemente moltiplicati. Inoltre, se ci sono termini aggiunti / sottratti, anche i loro derivati vengono aggiunti o sottratti rispettivamente. Ricorda, la derivata di qualsiasi valore numerico costante è zero. Ecco alcuni esempi:
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
Ora risolvi l'equazione equiparando il nuovo polinomio a zero e ottieni solo i valori integrali di x.
Inserire quei valori di x nella funzione originale e restituire i risultati. Questo dovrebbe essere l'output .
Esempio
Facciamo l'esempio che abbiamo menzionato prima, cioè [1,-12,45,8]
.
- Ingresso:
[1,-12,45,8]
- Funzione:
x3 - 12x2 + 45x + 8
- Derivata ->
3x2 - 24x + 45 + 0 -> [3,-24,45]
- Risolvendo l'equazione , otteniamo o .
3x2 - 24x + 45 = 0
x = 3
x = 5
- Ora inserendo
x = 3
ex = 5
nella funzione, otteniamo i valori(62,58)
. - Uscita ->
[62,58]
ipotesi
Supponiamo che tutti i coefficienti di input siano numeri interi . Possono essere in ordine crescente o decrescente di potere.
Supponiamo che l' input sia almeno un polinomio di 2 gradi . Se il polinomio non ha soluzioni intere, è possibile restituire qualsiasi cosa.
Supponiamo che il risultato finale sarà solo numeri interi.
È possibile stampare i risultati in qualsiasi ordine. Il grado del polinomio di input non sarebbe superiore a 5, in modo che il codice possa gestirlo.
L'input sarà valido in modo che le soluzioni di x non siano punti di sella.
Inoltre, non sei obbligato a farlo con il metodo derivato. Puoi usare qualsiasi metodo tu voglia.
Esempio di input e output
[2,-8,0] -> (-8)
[2,3,-36,10] -> (91,-34)
[1,-8,22,-24,8] -> (-1,0,-1)
[1,0,0] -> (0)
punteggio
Questo è code-golf, quindi vince il codice più corto.
(-1, 0, 1)
, che credo sia la risposta corretta effettiva ... non sono sicuro però. Se non sei d'accordo con me, chiamami in chat.
The input will be valid so that the solutions of x are not saddle points
, il caso [1,0,0,3]
sembra dare un punto a sella.
x^3 - 12x^2 + 45x
+ 8 = 0
, anche se personalmente preferisco scriverlo come f(x)=x^3-12x^2+45x+8
senza il =0
perché =0
non ha senso dal momento che abbiamo a che fare con una funzione, non risolvere un'equazione.