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:
xnn*xn-1xnx3 -> 3x29x4 -> 9*4*x3 = 36x3-5x2 -> -5*2*x = - 10x2x3 - 3x2 + 7x -> 6x2 - 6x + 74x2 - 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 = 0x = 3x = 5 - Agora, colocando
x = 3ex = 5na 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+8sem o =0porque =0não faz sentido, pois estamos lidando com uma função, não resolvendo uma equação.