Definición
Los máximos y mínimos de una función dada son los valores más grandes y más pequeños de la función, ya sea dentro de un rango dado o de lo contrario dentro del dominio completo de la función.
Desafío
El desafío es encontrar los máximos y mínimos locales de una función polinómica dada utilizando cualquier método que desee . No se preocupe, haré todo lo posible para explicar el desafío y mantenerlo lo más simple posible.
La entrada contendrá todos los coeficientes del polinomio variable individual en orden decreciente o creciente de potencia (depende de usted). Por ejemplo,
[3,-7,1]
representará3x2 - 7x + 1 = 0
[4,0,0,-3]
representará4x3-3=0.
¿Cómo resolver (usando derivados)?
Ahora, digamos que nuestra entrada es [1,-12,45,8]
, que no es más que la función .x3 - 12x2 + 45x + 8
La primera tarea es encontrar la derivada de esa función. Dado que es una función polinómica, es una tarea simple de hacer.
La derivada de es . Cualquier término constante presente con simplemente se multiplica. Además, si hay términos agregados / restados, entonces sus derivados también se suman o restan respectivamente. Recuerde, la derivada de cualquier valor numérico constante es cero. Aquí están algunos ejemplos:
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
Ahora resuelva la ecuación equiparando el nuevo polinomio a cero y obtenga solo los valores integrales de x.
Ponga esos valores de x en la función original y devuelva los resultados. Esa debería ser la salida .
Ejemplo
Tomemos el ejemplo mencionamos anteriormente, es decir, [1,-12,45,8]
.
- Entrada:
[1,-12,45,8]
- Función:
x3 - 12x2 + 45x + 8
- Derivado ->
3x2 - 24x + 45 + 0 -> [3,-24,45]
- Resolviendo la ecuación , obtenemos o .
3x2 - 24x + 45 = 0
x = 3
x = 5
- Ahora poniendo
x = 3
yx = 5
en la función, obtenemos los valores(62,58)
. - Salida ->
[62,58]
Supuestos
Suponga que todos los coeficientes de entrada son enteros . Pueden estar en orden creciente o decreciente de poder.
Suponga que la entrada es al menos un polinomio de 2 grados . Si el polinomio no tiene soluciones enteras, puede devolver cualquier cosa.
Suponga que el resultado final serán enteros solamente.
Puede imprimir los resultados en cualquier orden. El grado del polinomio de entrada no debería ser superior a 5, por lo que su código puede manejarlo.
La entrada será válida para que las soluciones de x no sean puntos de silla.
Además, no está obligado a hacerlo por el método derivado. Puede usar cualquier método que desee.
Muestra de entrada y salida
[2,-8,0] -> (-8)
[2,3,-36,10] -> (91,-34)
[1,-8,22,-24,8] -> (-1,0,-1)
[1,0,0] -> (0)
Puntuación
Este es el código de golf, por lo que gana el código más corto.
(-1, 0, 1)
, lo que creo que es la respuesta correcta real ... aunque no estoy seguro. Si no estás de acuerdo conmigo, hazme ping en el chat.
The input will be valid so that the solutions of x are not saddle points
, el caso [1,0,0,3]
parece dar un punto de silla de montar.
x^3 - 12x^2 + 45x
+ 8 = 0
, aunque personalmente prefiero que lo escriba f(x)=x^3-12x^2+45x+8
sin el =0
porque =0
no tiene sentido ya que estamos tratando con una función, no resolviendo una ecuación.