Biorąc pod uwagę wielomian w jednej zmiennej z wymiernymi współczynnikami, wyprowadzaj równoważne wyrażenie zawierające tylko 1
zmienne i całki oznaczone. Na przykład, - x 2 można wyrazić jako ∫ x ∫ 1 1 1d t x d u .
E := 1 | var | ∫EEEdvar
Dowolna rozsądna metoda wejścia / wyjścia jest dozwolona.
Przykłady:
Twój wynik będzie twoją długością kodu pomnożoną przez liczbę ∫
symboli użytych w przypadkach testowych. Powinieneś być w stanie ocenić swój program. Najniższy wynik wygrywa.
Przypadki testowe:
4/381*x^2+49/8*x^3-17/6
311/59*x^2-92/9*x^3-7/15*x
333/29*x^3+475/96*x^8
Gra w golfa będzie trudna, ponieważ nie mogę grać w golfa tylko kodem lub samym rezultatem, a zatem nie wiem, czy zmiana pomoże lub zrani mój wynik, dopóki go nie wypróbuję, co moim zdaniem jest do kitu.
Nie pozwól, aby wynik ograniczył twoją twórczość. Zachęcamy do odpowiedzi, w której jedna część wyniku jest dobrze zoptymalizowana, nawet jeśli druga źle się opuściła.
chr(8747)
(lub równoważny) zmiennej i używając tego jako znaku, powodując zerowe występowanie symbolu. Chciałbym zdecydowanie zalecamy przeprowadzenie tej kod wanilia golf wyzwaniem.0=[1,1,1]
. nadal jest liczony jako „1∫
”. W ten sposób można uzyskać tylko 0 punktów w przypadku testowym1
ix
Odpowiedzi:
Python 2 , 315 bajtów * 5113 = 1610595 punktów
Nadal pracuję nad grą w golfa. Gra w golfa będzie trudna, ponieważ nie mogę grać w golfa tylko kodem lub samym rezultatem, a zatem nie wiem, czy zmiana pomoże lub zrani mój wynik, dopóki go nie wypróbuję, co moim zdaniem jest do kitu.
Pomimo irytacji gry w golfa, podobał mi się rachunek różniczkowy.
Wypróbuj online!
Uruchom wszystkie przypadki testowe - aby zdobyć, policz wszystkie
[
w danych wyjściowych.Wielomian wejściowy jest traktowany jako lista par współczynników (licznik, mianownik) w kolejności od najniższej do najwyższej mocy
x
.(0, 1)
(zero) jest używane dla brakujących mocy.Dane wyjściowe są podawane z każdą całką reprezentowaną przez listę
[f,t,a,b]
reprezentującą ∫ a b f d tWeryfikacja
Oto nieco mniej golfowa wersja, która wypisuje prawidłową składnię Mathematica do integracji, którą można przetestować na notebooku online. Niestety, programy o przyzwoitych rozmiarach nie zakończą się w darmowym notebooku.
Idź tutaj , przewiń w dół, „Utwórz nowy notatnik”, wklej (Wprowadzanie języka Wolfram) i oceń (Shift + Enter) (Zauważ, że użycie klawisza numerycznego Enter nie działa) .
Wyjaśnienie
Korzysta z tych równań:
Spinki do mankietów
Narzędzie przekształcające dane wyjściowe w zagnieżdżone funkcje Mathematica
Narzędzie, które konwertuje dane wyjściowe do Mathematica, unikając rekurencji
Uruchom wyjście Mathematica na TIO
Obrazy równań wykonane za pomocą tego narzędzia .
źródło
Z(n)
jakodef Z(n):return N(Z(-n)) if n<0 else[1,t,1,1] if n<1 else 1 if n<2 else[1,t,N(1),Z(n-1)]
?Z=lambda n:N(Z(-n))if n<0else[1,t,N(1),Z(n-1)]if n>1else[[1,t,1,1],1][n]
JavaScript (Node.js) , 152 bajty * całki 5113 = wynik 777176
Wypróbuj online!
Używaj głównie tych dwóch równań:
źródło
JavaScript (Node.js) , 220 bajtów * 616 całek = 135520 punktów
Wypróbuj online!
źródło
function unpack(x) { return x instanceof Array ? `\\int_{${unpack(x[2])}}^{${unpack(x[3])}}${unpack(x[0])}\\text d${unpack(x[1])}` : x }; console.log (unpack(F([[0, 1], [-7, 15], [311, 59], [-92, 9]])).replace(/\{(.)\}/g,'$1'));