Napisz program, który wykonuje interpolację wielomianową przy użyciu prawdziwych liczb wymiernych o dowolnej dokładności. Dane wejściowe wyglądają następująco:
f (1) = 2/3 f (2) = 4/5 f (3) = 6/7 ...
Możesz założyć, że przed =
znakiem i po nim jest dokładnie jedna biała spacja , wszystkie liczby są ułamkami lub liczbami całkowitymi. Możesz również założyć, że wszystkie ułamki na wejściu są już nieredukowalne.
Nie jest wymagane sprawdzanie błędów, można założyć, że dane wejściowe są prawidłowe i x nie jest podwojone w f (x).
Dane wyjściowe powinny być w formie zgodnej z LaTeX, emitowany kod LaTeX powinien dawać taką samą graficzną reprezentację jak dane wyjściowe podane tutaj.
f (x) = 123x ^ 2 + \ frac {45} {2} x + \ frac {7} {4}
Ułamek musi zostać zredukowany tak bardzo, jak to możliwe, np. coś takiego \frac{2}{4}
jest niedozwolone. Jeśli liczba jest liczbą całkowitą, nie używaj ułamka.
Zasady specjalne:
Twój program powinien ...
- praca dla wielomianów do stopnia 12
- ukończenie w mniej niż 1 minutę dla rozsądnego wkładu
- nie używaj żadnych funkcji, które wykonują całe obliczenia za Ciebie
- wyprowadza wielomian najmniejszego możliwego stopnia
Przypadki testowe:
Podane przypadki testowe służą jedynie wyjaśnieniu. Twój program powinien dać poprawny wynik dla wszystkich poprawnych danych wejściowych.
Wejście
f (1) = 2/3 f (2) = 4/5 f (3) = 6/7
Wynik
f (x) = - \ frac {4} {105} x ^ 2 + \ frac {26} {105} x + \ frac {16} {35}
Wejście
f (-12) = 13/2 f (5/3) = 3/5 f (13) = -6 f (1/5) = -3/4
Wynik
f (x) = - \ frac {2186133} {239455744} x ^ 3 + \ frac {2741731} {149659840} x ^ 2 + \ frac {26720517} {29201920} x - \ frac {279464297} {299319680}
Wejście
f (4/3) = 617/81 f (2) = 20/3 f (-8/3) = 6749/81 f (-5) = 7367/12 f (0) = 23/3
Wynik
f (x) = \ frac {1} {2} x ^ 4 - 2x ^ 3 + \ frac {7} {4} x ^ 2 + \ frac {23} {3}
Wejście
f (0) = 5 f (1) = 7 f (2) = 9 f (3) = 11 f (4) = 13
Wynik
f (x) = 2x + 5
Wejście
f (1/2) = -1/2 f (-25) = -1/2 f (-54/12) = -1/2
Wynik
f (x) = - \ frac {1} {2}
...
) są naprawdę częścią danych wejściowych?
-\frac{37745}{14592}x^4 - \frac{853249}{43776}x^3 + \frac{57809}{7296}x^2 + \frac{225205}{2736}x + \frac{23}{3}
. Podejrzewam, że wejście miało być czymś innym :)