Lehmer-Comtet 시퀀스


12

레머-Comtet 시퀀스되도록 시퀀스 인 A (N)이 되는 N 의 유도체 일 F (X) = X (X) 에 대한 X 에서 평가로서 X = 1 .

직무

음수가 아닌 정수를 입력 으로 받아서 Lehmer-Comtet 시퀀스 의 n 번째 항을 출력하십시오 .

이것은 이므로 소스 코드의 파일 크기를 최소화해야합니다.

테스트 사례

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

Haskell , 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 에 대한 Taylor 시리즈 계수의 무한 목록으로 표시됩니다 . f ( x ) = ∑ n = 0 f ( n ) ( x -1) n / n ! 는 [f (1), f '(1), f ″ (1),…]로 표시된다.

&운영자 승산 제품 규칙을 사용하여 이러한 두 기능한다. 이를 통해 미분 방정식 s (1) = 1, s ′ ( x ) = s ( x ) ⋅ (1 + ln x )를 사용하여 함수 s ( x ) = x x 를 재귀 적으로 정의 할 수 있습니다 . 여기서 ln x = ∑ n = 1 (−1) n − 1 ( n − 1)! ( x − 1) n / n !.


7

매스 매 티카, 19 바이트

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

@Not a tree에서 -18 바이트


9
내가 빠진 것이 아니라면 이것을 훨씬 더 짧게 얻을 수 있습니다 : D[x^x,{x,#}]/.x->1&, 19 바이트.
나무가 아님

실제로 21 바이트 .. 그렇습니다! 훨씬 더 짧은!
J42161217

난 당신이 필요하다고 생각하지 않습니다 -1OEIS에서 순서가에서 시작 - n은 0 =
아니 나무

1
자 그리고 나서! 19 바이트
J42161217



4

SymPy사용한 Python , 77 75 58 57 바이트

@notjagan 덕분에 1 바이트 절약

@AndersKaseorg 덕분에 17 바이트 절약

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.
Anders Kaseorg

1
음 ... 어디에서 사용 n합니까?
Zacharý

@ZacharyT 감사합니다! 우연히 나는 n = 10으로 anders의 제안을 테스트 했으므로 동일한 결과를 얻었습니다 :) 고정
Uriel

로 교체 x**x하여 -1 바이트 x^x.
notjagan


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바이트를 저장합니다.
Ad Hoc Garf Hunter

0**n뒤에 넣어서 바이트를 저장할 수도 있습니다 sum(...).
Ad Hoc Garf Hunter




1

Python3 + mpmath 52 바이트

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

-3 바이트, 감사합니다 @Zachary T


1
mpmath는 표준 라이브러리가 아니므로 언어를 python3 + mpmath로 변경해야합니다.
Ad Hoc Garf Hunter

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압축 을 사용하여 많은 바이트를 절약 할 수 있습니다 . 온라인으로 사용해보십시오!
Ad Hoc Garf Hunter 4

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.