Définition
Les maxima et les minima d'une fonction donnée sont les valeurs les plus grandes et les plus petites de la fonction soit dans une plage donnée, soit dans le domaine entier de la fonction.
Défi
Le défi est de trouver les maxima et minima locaux d'une fonction polynomiale donnée en utilisant n'importe quelle méthode que vous aimez . Ne vous inquiétez pas, je ferai de mon mieux pour expliquer le défi et le garder aussi simple que possible.
L'entrée contiendra tous les coefficients du polynôme variable unique dans l'ordre de puissance décroissant ou croissant (à vous de choisir). Par exemple,
[3,-7,1]
représentera3x2 - 7x + 1 = 0
[4,0,0,-3]
représentera4x3-3=0.
Comment résoudre (en utilisant des dérivés)?
Maintenant, disons que notre entrée est [1,-12,45,8]
, qui n'est rien d'autre que la fonction .x3 - 12x2 + 45x + 8
La première tâche consiste à trouver la dérivée de cette fonction. Puisqu'il s'agit d'une fonction polynomiale, c'est en effet une tâche simple à faire.
La dérivée de est . Tout terme constant présent avec est simplement multiplié. De plus, s'il y a des termes ajoutés / soustraits, leurs dérivés sont également ajoutés ou soustraits respectivement. N'oubliez pas que la dérivée de toute valeur numérique constante est zéro. Voici quelques exemples:
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
Maintenant, résolvez l'équation en égalisant le nouveau polynôme à zéro et obtenez seulement les valeurs intégrales de x.
Mettez ces valeurs de x dans la fonction d'origine et retournez les résultats. Cela devrait être la sortie .
Exemple
Prenons l'exemple que nous avons mentionné précédemment, à savoir [1,-12,45,8]
.
- Contribution:
[1,-12,45,8]
- Une fonction:
x3 - 12x2 + 45x + 8
- Dérivé ->
3x2 - 24x + 45 + 0 -> [3,-24,45]
- Résoudre l'équation , nous obtenons ou .
3x2 - 24x + 45 = 0
x = 3
x = 5
- Maintenant, en mettant
x = 3
etx = 5
dans la fonction, nous obtenons les valeurs(62,58)
. - Sortie ->
[62,58]
Hypothèses
Supposons que tous les coefficients d'entrée sont des entiers . Ils peuvent être dans l'ordre croissant ou décroissant de puissance.
Supposons que l' entrée soit au moins un polynôme à 2 degrés . Si le polynôme n'a pas de solutions entières, vous pouvez renvoyer n'importe quoi.
Supposons que le résultat final sera uniquement des entiers.
Vous pouvez imprimer les résultats dans n'importe quel ordre. Le degré du polynôme d'entrée ne serait pas supérieur à 5, afin que votre code puisse le gérer.
L'entrée sera valide pour que les solutions de x ne soient pas des points de selle.
De plus, vous n'êtes pas obligé de le faire par la méthode dérivée. Vous pouvez utiliser n'importe quelle méthode selon vos envies.
Exemple d'entrée et de sortie
[2,-8,0] -> (-8)
[2,3,-36,10] -> (91,-34)
[1,-8,22,-24,8] -> (-1,0,-1)
[1,0,0] -> (0)
Notation
C'est le code-golf donc le code le plus court l'emporte.
(-1, 0, 1)
, ce qui, je crois, est la vraie réponse correcte ... mais je ne suis pas sûr. Si vous n'êtes pas d'accord avec moi, envoyez-moi un message de chat.
The input will be valid so that the solutions of x are not saddle points
, l'affaire [1,0,0,3]
semble donner un point de selle.
x^3 - 12x^2 + 45x
+ 8 = 0
, bien que personnellement je préfère que vous l'écriviez comme f(x)=x^3-12x^2+45x+8
sans le =0
car =0
n'a pas de sens puisque nous avons affaire à une fonction, pas à la résolution d'une équation.