整数のシーケンスを考慮して、それをモデル化する多項式関数をどのように見つけることができますか? (つまり、x=1 の最初のアイテム、x=2 の 2 番目のアイテムなどを生成します)
たとえば、1、683、44287、838861 のシーケンスを考えてみましょう。一致する生成関数がy = 118008*x^3 - 686587*x^2 + (10^6)*x - 665807.
注: コードは 10 度まで機能する必要があります。
整数のシーケンスを考慮して、それをモデル化する多項式関数をどのように見つけることができますか? (つまり、x=1 の最初のアイテム、x=2 の 2 番目のアイテムなどを生成します)
たとえば、1、683、44287、838861 のシーケンスを考えてみましょう。一致する生成関数がy = 118008*x^3 - 686587*x^2 + (10^6)*x - 665807.
注: コードは 10 度まで機能する必要があります。
これはJavaの質問ではありません...基本的な数学の質問です。[1, 4, 9, 16, 25] を考えて、それらの差を取ると、[3, 5, 7, 9] が得られます。それをもう一度行うと、[2, 2, 2] が得られます。
[1, 8, 27, 64, 125] を見てください...違いは [7, 19, 37, 61] です。それらの違いは [12, 18, 24] になり、違いは [6, 6] になります。
x^4 に対して行った場合、4 番目の違いのセットは [24, 24, 24...] などになります。
つまり、方程式の最高項が a*x^n の場合、差を n 回取った後の最終的な差は a*n! です。
したがって、[1, 683, 44287, 838861] から始めて、最初の違いは [682, 43604, 794574]、2 番目の違いは [42922, 750970]、3 番目の違いは [708048] です。それを3で割ります!または 6 で、118008*x^3 の第 1 項が得られます。
戻って、元のシーケンスから 118008*x^3 を減算し、[-118007、-943381、-3141929、-6713651] の新しいシーケンスから x^2 項を計算します。最初に戻る必要がないように、ここに入れることができるショートカットがあるかもしれませんが、それはあなた次第です。