정의
주어진 함수의 최대 값과 최소값은 주어진 범위 내에서 또는 함수의 전체 도메인 내에서 함수의 최대 값과 최소값입니다.
도전
문제는 원하는 다항식을 사용하여 주어진 다항식 함수의 극대 최대 값과 최소값 을 찾는 것 입니다. 걱정하지 마십시오. 나는 도전을 설명하고 가능한 한 단순하게 유지하기 위해 최선을 다할 것입니다.
입력 값은 단일 가변 다항식의 모든 계수 를 거듭 제곱의 증가 또는 증가 순서로 포함합니다 (사용자까지). 예를 들어
[3,-7,1]
대표 할 것이다3x2 - 7x + 1 = 0
[4,0,0,-3]
대표 할 것이다4x3-3=0.
해결 방법 (미분 사용)?
이제 우리의 입력이 [1,-12,45,8]
이고, 함수에 불과 하다고 가정 해 봅시다 .x3 - 12x2 + 45x + 8
첫 번째 작업은 해당 함수의 파생물을 찾는 것입니다. 다항식 함수이므로 실제로 수행해야 할 간단한 작업입니다.
의 미분은 입니다 . 존재하는 상수 항 은 단순히 곱해집니다. 또한 더하기 / 빼기 된 용어가 있으면 해당 파생어도 각각 더하거나 빼기합니다. 상수 수치의 미분 값은 0입니다. 다음은 몇 가지 예입니다.
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
이제 새로운 다항식을 0에 동일하게하여 방정식을 풀고 x의 정수 값만 얻으십시오.
x 값을 원래 함수에 넣고 결과를 반환하십시오. 출력이되어야합니다 .
예
앞에서 언급 한 예를 보자 [1,-12,45,8]
.
- 입력:
[1,-12,45,8]
- 함수:
x3 - 12x2 + 45x + 8
- 미분->
3x2 - 24x + 45 + 0 -> [3,-24,45]
- 방정식을 해결 , 우리는 얻을 또는 .
3x2 - 24x + 45 = 0
x = 3
x = 5
- 이제 퍼팅
x = 3
과x = 5
기능에, 우리는 값을 얻을(62,58)
. - 출력->
[62,58]
가정
모든 입력 계수가 정수 라고 가정하십시오 . 전력의 순서가 증가하거나 감소 할 수 있습니다.
입력 값이 2도 다항식 이라고 가정합니다 . 다항식에 정수 솔루션이없는 경우 아무 것도 반환 할 수 있습니다.
최종 결과는 정수만 가정합니다.
어떤 순서로도 결과를 인쇄 할 수 있습니다. 입력 다항식의 정도는 5보다 크지 않으므로 코드에서 처리 할 수 있습니다.
x의 해가 안장 점이되지 않도록 입력이 유효합니다.
또한 미분법으로 강제하지 않아도됩니다. 원하는 느낌의 방법을 사용할 수 있습니다.
샘플 입력 및 출력
[2,-8,0] -> (-8)
[2,3,-36,10] -> (91,-34)
[1,-8,22,-24,8] -> (-1,0,-1)
[1,0,0] -> (0)
채점
이것은 코드 골프 이므로 가장 짧은 코드가 승리합니다.
(-1, 0, 1)
실제 정답이라고 생각합니다.하지만 확실하지 않습니다. 당신이 채팅에 저를 핑하는 데 동의하지 않는 경우.
The input will be valid so that the solutions of x are not saddle points
이 사건 [1,0,0,3]
은 안 장점을주는 것으로 보인다.
x^3 - 12x^2 + 45x
+ 8 = 0
, 비록 개인적으로 나는 그것을 f(x)=x^3-12x^2+45x+8
쓰지 않고 그것을 선호합니다 . =0
왜냐하면 =0
우리가 방정식을 풀지 않고 함수를 다루기 때문에 의미가 없기 때문 입니다.