この課題の目標は、オイラー法を使用して、形式f (n)(x)= cの微分方程式の解を近似することです。†
入力は、n番目の値がf (n)(0)の値を表す整数のリストになります。最初の整数はf(0)、2番目の整数はf '(0)のようになります。このリストの最後の整数は定数であり、常に同じままです。
また、ターゲット値を表す正の(ゼロ以外の)整数xも入力として提供されます(f(x)を推定しようとしています)。オイラー法のステップサイズは常に1になります。したがって、合計xステップを取る必要があります。
あなたはオイラー法とunfamliarている場合は、ここでの入力のための説明と詳細な例である[4, -5, 3, -1]
、X = 8。
x f(x) f'(x) f''(x) f'''(x)
0 4 -5 3 -1
1 4-5 = -1 -5+3 = -2 3-1 = 2 -1
2 -1-2 = -3 -2+2 = 0 2-1 = 1 -1
3 -3+0 = -3 0+1 = 1 1-1 = 0 -1
4 -3+1 = -2 1+0 = 1 0-1 = -1 -1
5 -2+1 = -1 1-1 = 0 -1-1 = -2 -1
6 -1+0 = -1 0-2 = -2 -2-1 = -3 -1
7 -1-2 = -3 -2-3 = -5 -3-1 = -4 -1
8 -3-5 = -8
基本的に、生成されたテーブル内の各セルは、その上のセルと上のセルと右のセルの合計です。したがって、f(a)= f(a-1)+ f '(a-1); f '(a)= f'(a-1)+ f ''(a-1); およびf ''(a)= f ''(a-1)+ f '' '(a-1)。最終的な答えはf(8)≈-8です。††
入力リストは常に全てが10未満の絶対値を有する、2種以上の元素を含有するX 1も保証される≥。出力は、f(x)の近似値である単一の整数です。入力は、どちらの順序(前のリストに入れてもよいX、又はXリストの前に)。xは、必要に応じて、リストの最初または最後の要素にすることもできます。
テストケース:
[4, -5, 3, -1], x = 8 => -8
[1, 2, 3, 4, 5, 6], x = 10 => 3198
[1, 3, 3, 7], x = 20 => 8611
[-3, 3, -3, 3, -3, 3, -3, 3, -3], x = 15 => -9009
[1, 1], x = 1 => 2
†:この状況で近似法を使用することは、実際には愚かであることは注目に値します。ただし、この課題のために、可能な限り単純な関数が選択されました。
††:実際の値はたまたま-25⅓であり、この近似は「あまり良くない」と見なされます。