定義
特定の関数の最大値と最小値は、特定の範囲内または関数のドメイン全体内の関数の最大値と最小値です。
チャレンジ
課題は、任意の方法を使用して、特定の多項式関数の極大値と極小値を見つけることです。心配しないでください、私は挑戦を説明して、それをできるだけ単純に保つために最善を尽くします。
入力には、電力の降順または昇順のいずれかで(単一の)単一変数多項式のすべての係数が含まれます。例えば、
[3,-7,1]
代表します3x2 - 7x + 1 = 0
[4,0,0,-3]
代表します4x3-3=0.
解決方法(デリバティブを使用)?
ここで、入力が[1,-12,45,8]
であるとしましょう。これは関数にすぎません。x3 - 12x2 + 45x + 8
最初のタスクは、その関数の導関数を見つけることです。これは多項式関数なので、実際には簡単なタスクです。
の導関数はです。に存在する定数項は単純に乗算されます。また、加減算された用語がある場合、それらの導関数もそれぞれ加算または減算されます。定数数値の導関数はゼロであることを忘れないでください。以下に例を示します。
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
ここで、新しい多項式をゼロに等しくすることにより方程式を解き、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)
は、実際の正しい答えだと思いますが、わかりません。あなたが私に同意しない場合、チャットで私にpingを送信します。
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
私たちは方程式を解くことではない、機能を扱っているので、意味がありません。