बहुपद -> एकीकृत


11

तर्कसंगत गुणांक के साथ एक चर में एक बहुपद को देखते हुए, एक समतुल्य अभिव्यक्ति का उत्पादन होता है जिसमें केवल 1चर, और निश्चित इंटीग्रल होते हैं। उदाहरण के लिए, - x 2 के रूप में ∫ व्यक्त किया जा सकता एक्स1 1 1 दिन टी एक्स डी यू

E := 1 | var | ∫EEEdvar

किसी भी उचित इनपुट / आउटपुट विधि की अनुमति है।

उदाहरण:

\ बड़े 1 = 1 \ \ बड़े x = x \ बड़े 0 = \ int_1 ^ 1 1 \ पाठ dt \ \ बड़े 2 = \ int _ {\ int_1 ^ {\ int_1 ^ 1 1 \ पाठ DV} 1 \ पाठ du} ^ 1 1 \ पाठ dt \ \ बड़े x ^ 2 = \ int _ {\ int_1 ^ 1 1 \ पाठ dt} ^ xx \ पाठ DV \ \ बड़े \ frac 12 = \ int _ {\ int_1 ^ 1 1 \ पाठ पाठ} ^ ^ 1 v \ पाठ DV

आपका स्कोर परीक्षण के मामलों पर उपयोग किए जाने वाले प्रतीकों की संख्या से आपकी कोड लंबाई गुणा किया जाएगा । आपको अपना प्रोग्राम स्कोर करने में सक्षम होना चाहिए। सबसे कम स्कोर जीतता है।

परीक्षण के मामलों:

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

गोल्फ करना मुश्किल हो रहा है, क्योंकि मैं सिर्फ कोड या सिर्फ आउटपुट को गोल्फ नहीं कर सकता, और इसलिए मैं नहीं जानता कि क्या कोई बदलाव मेरे स्कोर को तब तक मदद करेगा या चोट पहुंचाएगा जब तक कि मैं कोशिश नहीं करता, जो मेरी राय में बेकार है।

स्कोर को अपनी रचना तक सीमित न रखें। स्कोर के एक भाग को अच्छी तरह से अनुकूलित करने के लिए आपको उत्तर देने के लिए स्वागत किया जाता है, भले ही दूसरा एक बुरी तरह से छोड़ दिया गया हो।



@ ओलिवियरग्रेयर उलटा काम
l4m2

यह एक दिलचस्प चुनौती है, जो इसके स्कोरिंग सिस्टम द्वारा बहुत खराब बना दिया गया है। मैं तुरन्त 0 के स्कोर का दावा कर सकता हूं , मेरे कोड की लंबाई से बेपरवाह, बस chr(8747)एक वेरिएबल को असाइन (या समतुल्य) करके, और उस चिन्ह के रूप में, प्रतीक की शून्य घटनाओं का उपयोग करके। मैं दृढ़ता से यह एक वेनिला कोड गोल्फ चुनौती बनाने की सिफारिश करेंगे ।
केयर्ड कॉइनरहाइडिंग

3
@cairdcoinheringaahing कोई बात नहीं आप किसी भी आउटपुट स्वरूप का उपयोग करते हैं, उदाहरण के लिए 0=[1,1,1], यह अभी भी "1 " के रूप में गिना जाता है । इस प्रकार आप केवल टेस्ट स्कोर पर 0 स्कोर प्राप्त कर सकते हैं 1औरx
l4m2

1
निजी तौर पर, मुझे लगता है कि यह एक कोड-गोल्फ प्रश्न के रूप में बेहतर होगा। कोई भी समाधान प्रभावशाली होगा, इसलिए मुझे नहीं लगता कि इसके लिए यथासंभव कुछ एकीकरण की आवश्यकता है।
mbomb007

जवाबों:


5

पायथन 2 , 315 बाइट्स * 5113 = 1610595 स्कोर

मैं अभी भी स्कोर गोल्फिंग पर काम कर रहा हूं। गोल्फ करना मुश्किल हो रहा है, क्योंकि मैं सिर्फ कोड या सिर्फ आउटपुट को गोल्फ नहीं कर सकता, और इसलिए मैं नहीं जानता कि क्या कोई बदलाव मेरे स्कोर को तब तक मदद करेगा या चोट पहुंचाएगा जब तक कि मैं कोशिश नहीं करता, जो मेरी राय में बेकार है।

इस गोल्फिंग की नाराज़गी के बावजूद, मैंने पथरी का आनंद लिया।

t='t'
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]
N=lambda a:[1,t,a,Z(0)]
x=lambda n:n>1and[x(n-1),t,Z(0),'x']or'x'
M=lambda a,b:[b,t,Z(0),a]
print reduce(lambda a,b:[1,t,N(a),b],[M((lambda a,b:M(Z(a),[x(b-1)if b>1else 1,'x',Z(0),1]))(*c),x(i)if i else 1)for i,c in enumerate(input())])

इसे ऑनलाइन आज़माएं!

सभी परीक्षण मामलों को चलाएं - स्कोर करने के लिए, [आउटपुट में सभी को गिनें।

इनपुट बहुपद को सबसे कम शक्ति के उच्चतम से क्रम में (अंश, हर) गुणांक जोड़े की सूची के रूप में लिया जाता है x(0, 1)(शून्य) का उपयोग गुम शक्तियों के लिए किया जाता है।

आउटपुट is बी एफ डी टी[f,t,a,b] का प्रतिनिधित्व करने के लिए एक सूची द्वारा प्रस्तुत प्रत्येक अभिन्न अंग के साथ दिया जाता है

सत्यापन

यहां थोड़ा कम गोल्फ वाला संस्करण है जो एकीकरण के लिए वैध मैथमेटिका सिंटैक्स को आउटपुट करता है, जिसे ऑनलाइन नोटबुक में परीक्षण किया जा सकता है। दुर्भाग्य से, शालीनता से आकार के कार्यक्रम एक मुफ्त नोटबुक में पूरा नहीं होंगे।

यहां जाएं , नीचे स्क्रॉल करें, "नया नोटबुक बनाएं", पेस्ट (वोल्फ्रैम भाषा इनपुट), और मूल्यांकन करें (Shift + Enter) (ध्यान दें कि num-pad Enter का उपयोग नहीं होता है)

व्याख्या

इन समीकरणों का उपयोग करता है:

-a = \ int_a ^ {0} 1 ~ dt

n = \ int _ {- 1} ^ {n-1} 1 ~ dt, n> 1

x ^ n = \ int_0 ^ {x} x ^ {n-1} ~ dt

a + b = \ int _ {- a} ^ b 1 ~ dt

ab = \ int_0 ^ ab ~ dt

\ frac {1} {n} = \ int_0 ^ {1} x ^ {n-1} ~ dx

लिंक


@ l4m2 मैंने प्रश्न के लिंक जोड़े ताकि हम इन टिप्पणियों को हटा सकें। धन्यवाद।
mbomb007

के Z(n)रूप में परिभाषित करें def 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)]?
l4m2

या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]
l4m2


0

जावास्क्रिप्ट (Node.js) , 220 बाइट्स * 616 इंटीग्रल्स = 135520 स्कोर

O=[1,T='t',1,1]
D=(q,t)=>[t,'c',[q,T,1,O],q]
N=n=>n>0?[N(-n),T,1,O]:n?[D(1,1),'c',n&1?[T,T,O,1]:O,N(n/2|0)]:O
P=n=>n?[D(n%2?'x':1,T),T,O,P(n>>1)]:1
F=([e,...s])=>e?[1,T,[F(s),T,'x',O],[N(e[0]),T,O,[P(e[1]-1),'x',O,1]]]: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'));
समीकरण-

बस अपने मौजूदा उत्तर को संपादित करें। हमें एक अलग स्कोर के साथ प्रत्येक प्रयास के लिए अलग उत्तर की आवश्यकता नहीं है। इसके अलावा, आपके द्वारा शामिल किए गए समीकरण चित्र भी शामिल नहीं हैं क्योंकि वे सुपाठ्य नहीं हैं।
mbomb007

1
@ mbomb007 आमतौर पर मैं इसी तरह के घोल को एक साथ रखता हूं और काफी अलग हो जाता है। पिछले कुछ समय मैंने कुछ गैर-स्वीकृत प्रतीकों का उपयोग किया जब मुझे छवि मिलती है, इसलिए मैं इसे आसान बनाने के लिए यहां रखता हूं यह देखने के लिए कानूनी है
l4m2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.