लेहमर-कॉमेट अनुक्रम


12

लेह्मर-Comtet अनुक्रम एक दृश्य ऐसा है कि एक (एन) है n वें के व्युत्पन्न f (x) = एक्स एक्स के संबंध में एक्स के रूप में मूल्यांकन किया है x = 1

कार्य

इनपुट के रूप में एक गैर-नकारात्मक पूर्णांक लें और लेहमर-कॉमेट अनुक्रम के एन वें शब्द का उत्पादन करें ।

यह इसलिए आपको अपने स्रोत कोड की फ़ाइल का आकार कम से कम करना चाहिए।

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

OEIS 5727

यहाँ पहले युगल शब्द क्रम में हैं (OEIS से कॉपी किए गए)

1, 1, 2, 3, 8, 10, 54, -42, 944, -5112, 47160, -419760, 4297512, -47607144, 575023344, -7500202920, 105180931200, -1578296510400, 25238664189504, -428528786243904, 7700297625889920, -146004847062359040, 2913398154375730560, -61031188196889482880

जवाबों:


11

हास्केल , 77 75 बाइट्स, कोई भेदभाव नहीं बनाया

x@(a:b)&y@(c:d)=a*c:zipWith(+)(b&y)(x&d)
s=1:s&(1:scanl(*)1[-1,-2..])
(s!!)

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

यह काम किस प्रकार करता है

हम x = 1: f ( x ) = n = 0 = f ( n ) ( x - 1) n / n के बारे में टेलर श्रृंखला गुणांक की अपनी अनंत सूची के रूप में एक समारोह का प्रतिनिधित्व करते हैं ! [f (1), f by (1), f 1 (1),…] द्वारा दर्शाया गया है।

&ऑपरेटर पलता उत्पाद नियम का उपयोग कर दो इस तरह के कार्य करता है। यह हमें रिकर्सिवली समारोह परिभाषित करने देता है रों ( एक्स ) = एक्स एक्स का उपयोग कर खुद के मामले में अंतर समीकरण रों (1) = 1, एस '( x ) = एस ( एक्स ) ⋅ (1 + ln एक्स ), जहां ln एक्स = Σ n = 1 (-1) n - 1 ( n - 1)! ( एक्स - 1) n / n !।


7

गणितज्ञ, 19 बाइट्स

D[x^x,{x,#-1}]/.x->1&

-18 एक पेड़ से @ बाइट करें


9
जब तक मैं कुछ याद कर रहा हूँ, आप इसे बहुत छोटा पा सकते हैं: D[x^x,{x,#}]/.x->1&19 बाइट्स।
पेड़ नहीं

वास्तव में 21 बाइट्स .. लेकिन हाँ! बहुत छोटा है!
J42161217

मुझे नहीं लगता कि आपको इसकी आवश्यकता है -1- OEIS से अनुक्रम n = 0. पर शुरू होता है
एक पेड़

1
ठीक है फिर! 19 बाइट्स यह है
J42161217



4

सिम्पी के साथ अजगर , 77 75 58 57 बाइट्स

1 बाइट @ नॉटजगन को धन्यवाद दिया

17 बाइट्स ने @AndersKaseorg को धन्यवाद दिया

from sympy import*
lambda n:diff('x^x','x',n).subs('x',1)

1
lambda n:diff('x**x','x',10).subs('x',1)की आवश्यकता नहीं है sympy.abc
एंडर्स कासोर्ग

1
उम्म्म्म… कहाँ इस्तेमाल करते हो n?
23

@ZacharyT धन्यवाद! संयोग से मैंने anders के प्रस्ताव को n = 10 के साथ सही माना है, इसलिए इसने वही परिणाम दिया है :) अभी तय किया गया है
Uriel

के x**xसाथ प्रतिस्थापित करके -1 बाइट x^x
नॉटजैगन


2

पायथन 3 , 150 बाइट्स

lambda n:0**n or sum(L(n-1,r)for r in range(n))
L=lambda n,r:0<=r<=n and(0**n or n*L(n-2,r-1)+L(~-n,r-1)+(r-~-n)*L(~-n,r)if r else n<2or-~-n*L(n-1,0))

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

घातीय रनटाइम जटिलता। OEIS पृष्ठ में दिए गए सूत्र का उपयोग करता है।


n>=r>=0एक बाइट बचाता है।
तदर्थ गार्फ हंटर

आप एक बाइट को 0**nबाद में डालकर भी बचा सकते हैं sum(...)
तदर्थ गार्फ हंटर




1

पायथन 3 + mpmath 52 बाइट्स

from mpmath import*
lambda n:diff(lambda x:x**x,1,n)

-3 बाइट्स, धन्यवाद @Zachary टी


1
आपको भाषा को python3 + mpmath में बदल देना चाहिए, क्योंकि mpmath एक मानक पुस्तकालय नहीं है।
तदर्थ गार्फ हंटर

2
आप अपनी पहली पंक्ति को बदल सकते हैं from mpmath import*, और दूसरी को diff(lambda x:x**x,1,n)। (सिर्फ अनावश्यक रिक्त स्थान को हटाते हुए)
Zacharý

0

पायथन 3 , 288 261 बाइट्स

विभेदीकरण के बिना भेदभाव अंतर्निर्मित।

p=lambda a,n:lambda v:v and p(a*n,n-1)or a
l=lambda v:v and p(1,-1)
e=lambda v:v and m(e,a(p(1,0),l))or 1
a=lambda f,g:lambda v:v and a(f(1),g(1))or f(0)+g(0)
m=lambda f,g:lambda v:v and a(m(f(1),g),m(g(1),f))or f(0)*g(0)
L=lambda n,f=e:n and L(n-1,f(1))or f(0)

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

यह काम किस प्रकार करता है

पहली पांच पंक्तियों में से प्रत्येक कार्य और उनके डेरिवेटिव और उनके परिणामों को परिभाषित करता है जब मूल्यांकन किया जाता है 1। उनके व्युत्पन्न भी कार्य हैं।

  • p शक्ति है a*x^n
  • l लघुगणक यानी है ln(x)
  • e घातीय है exp(x)
  • a इसके अलावा है f(x)+g(x)
  • m गुणा है f(x)*g(x)

उपयोग: उदाहरण के लिए, के exp(ln(x)+3x^2)रूप में प्रतिनिधित्व किया जाएगा e(l()+p(3,2))। चलो x=e(l()+p(3,2))। इसके व्युत्पन्न को खोजने के लिए, कॉल करें x(1)। मूल्यांकन करने पर इसका परिणाम जानने के लिए 1, कॉल करें x(0)

बोनस: प्रतीकात्मक भेदभाव


आप execसंपीड़न का उपयोग करके बहुत सारे बाइट्स बचा सकते हैं । इसे ऑनलाइन आज़माएं!
तदर्थ गार्फ हंटर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.