Definição
Os máximos e mínimos de uma determinada função são os maiores e menores valores da função, dentro de um determinado intervalo ou de outra forma, dentro de todo o domínio da função.
Desafio
O desafio é encontrar os máximos e mínimos locais de uma determinada função polinomial usando qualquer método que você desejar . Não se preocupe, vou tentar o meu melhor para explicar o desafio e mantê-lo o mais simples possível.
A entrada conterá todos os coeficientes do polinômio de variável única na ordem de potência decrescente ou crescente (até você). Por exemplo,
[3,-7,1]
representará3x2 - 7x + 1 = 0
[4,0,0,-3]
representará4x3-3=0.
Como resolver (usando derivativos)?
Agora, digamos que nossa entrada seja [1,-12,45,8]
, que nada mais é que a função .x3 - 12x2 + 45x + 8
A primeira tarefa é encontrar a derivada dessa função. Como é uma função polinomial, é de fato uma tarefa simples de executar.
A derivada de é . Quaisquer termos constantes presentes com são simplesmente multiplicados. Além disso, se houver termos adicionados / subtraídos, seus derivados também serão adicionados ou subtraídos, respectivamente. Lembre-se, a derivada de qualquer valor numérico constante é zero. Aqui estão alguns exemplos:
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
Agora resolva a equação equiparando o novo polinômio a zero e obtenha apenas os valores integrais de x.
Coloque esses valores de x na função original e retorne os resultados. Essa deve ser a saída .
Exemplo
Vamos pegar o exemplo que mencionamos anteriormente, ou seja [1,-12,45,8]
,.
- Entrada:
[1,-12,45,8]
- Função:
x3 - 12x2 + 45x + 8
- Derivada ->
3x2 - 24x + 45 + 0 -> [3,-24,45]
- Resolvendo a equação , obtemos ou .
3x2 - 24x + 45 = 0
x = 3
x = 5
- Agora, colocando
x = 3
ex = 5
na função, obtemos os valores(62,58)
. - Saída ->
[62,58]
Premissas
Suponha que todos os coeficientes de entrada sejam inteiros . Eles podem estar em ordem crescente ou decrescente de poder.
Suponha que a entrada seja pelo menos um polinômio de 2 graus . Se o polinômio não tiver soluções inteiras, você poderá retornar qualquer coisa.
Suponha que o resultado final será apenas números inteiros.
Você pode imprimir os resultados em qualquer ordem. O grau do polinômio de entrada não seria superior a 5, para que seu código possa lidar com isso.
A entrada será válida para que as soluções de x não sejam pontos de sela.
Além disso, você não é forçado a fazê-lo pelo método derivativo. Você pode usar qualquer método que desejar.
Entrada e saída de amostra
[2,-8,0] -> (-8)
[2,3,-36,10] -> (91,-34)
[1,-8,22,-24,8] -> (-1,0,-1)
[1,0,0] -> (0)
Pontuação
Isso é código-golfe, então o código mais curto vence.
(-1, 0, 1)
, que acredito ser a resposta correta real ... embora não tenha certeza. Se você não concorda comigo, envie-me um bate-papo.
The input will be valid so that the solutions of x are not saddle points
, o caso [1,0,0,3]
parece dar um ponto de sela.
x^3 - 12x^2 + 45x
+ 8 = 0
, embora pessoalmente prefira que você o escreva como f(x)=x^3-12x^2+45x+8
sem o =0
porque =0
não faz sentido, pois estamos lidando com uma função, não resolvendo uma equação.