La secuencia de Lehmer-Comtet

Funky Computer Man 09/14/2017. 10 answers, 1.093 views
code-golf sequence integer calculus

La secuencia de Lehmer-Comtet es una secuencia tal que a(n) es la n ésima derivada de f(x) = xx con respecto x como se evalúa en x = 1 .

Tarea

Toma un entero no negativo como entrada y da salida al enésimo término de la secuencia de Lehmer-Comtet.

Esto es por lo que debe minimizar el tamaño del archivo de su código fuente.

Casos de prueba

OEIS 5727

Aquí están los primeros términos en orden (copiados del 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 

10 Answers


Anders Kaseorg 07/03/2017.

Haskell , 77 75 bytes, no hay builtins de diferenciación

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

¡Pruébalo en línea!

Cómo funciona

Representamos una función como su lista infinita de coeficientes de series de Taylor sobre x = 1: f ( x ) = Σ n = 0 f ( n ) ( x - 1) n / n ! está representado por [f (1), f '(1), f "(1), ...].

El operador & multiplica estas dos funciones usando la regla del producto. Esto nos permite definir recursivamente la función s ( x ) = x x en términos de sí misma usando la ecuación diferencial s (1) = 1, s '( x ) = s ( x ) ⋅ (1 + ln x ), donde ln x = Σ n = 1 (-1) n - 1 ( n - 1)! ( x - 1) n / n !


Jenny_mathy 07/03/2017.

Mathematica, 19 bytes

D[x^x,NO 

-18 bytes from @Not a tree

4 comments
9 Not a tree 07/03/2017
A menos que me falta algo, puede obtener esto mucho más corto: D[x^x,NO , 19 bytes.
Jenny_mathy 07/03/2017
en realidad 21 bytes ... ¡pero sí! mucho más corto!
Not a tree 07/03/2017
No creo que necesites el -1 - la secuencia de OEIS comienza en n = 0.
1 Jenny_mathy 07/03/2017
¡OK entonces! 19 bytes es

Luis Mendo 07/02/2017.

Octava con paquete simbólico, 36 32 bytes

 syms x
@(n)subs(diff(x^x,n),x,1) 

El código define una función anónima que genera una variable simbólica con el resultado.

Try it online!


Uriel 07/03/2017.

Python con SymPy , 77 75 58 57 bytes

1 byte saved thanks to @notjagan

17 bytes saved thanks to @AndersKaseorg

 from sympy import*
lambda n:diff('x^x','x',n).subs('x',1) 
5 comments
1 Anders Kaseorg 07/02/2017
lambda n:diff('x**x','x',10).subs('x',1) no requiere sympy.abc .
Uriel 07/02/2017
@AndersKaseorg gracias!
1 Zacharý 07/02/2017
Ummm ... ¿dónde usas n ?
Uriel 07/02/2017
@ZacharyT gracias! casualmente probé la propuesta de anders con n = 10, por lo que dio el mismo resultado :) arreglado ahora
notjagan 07/03/2017
-1 byte reemplazando x**x con x^x .

xnor 07/03/2017.

Haskell , 57 bytes

 f 0=1
f n=f(n-1)-foldl(\a k->f(k-1)/(1-n/k)-a*k)0[1..n-1] 

¡Pruébalo en línea!

Sin complementos para diferenciar o álgebra. Salidas flotantes.


Anders Kaseorg 07/03/2017.

SageMath , 33 32 bytes

 lambda n:diff(x^x,x,n).subs(x=1) 

Pruébalo en SageMathCell


Leaky Nun 07/03/2017.

Python 3 , 150 bytes

 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)) 

¡Pruébalo en línea!

Complejidad de tiempo de ejecución exponencial. Utiliza la fórmula dada en la página OEIS.

5 comments

Bhav 07/03/2017.

Python3 + mpmath 52 bytes

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

-3 bytes, gracias @Zachary T

2 comments
1 Funky Computer Man 07/02/2017
Debe cambiar el idioma a python3 + mpmath, ya que mpmath no es una biblioteca estándar.
2 Zacharý 07/02/2017
Puede cambiar su primera línea from mpmath import* , y la segunda a diff(lambda x:x**x,1,n) . (solo elimina espacios innecesarios)

alephalpha 07/03/2017.

Pari / GP , 35 bytes

n->n!*Pol((1+x+O(x*x^n))^(1+x))\x^n 

¡Pruébalo en línea!


Leaky Nun 07/03/2017.

Python 3 , 288 261 bytes

Diferenciación sin diferenciación incorporada.

 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) 

¡Pruébalo en línea!

Cómo funciona

Cada una de las primeras cinco líneas define funciones y sus derivadas y sus resultados cuando se evalúa en 1 . Sus derivados también son funciones.

  • p es potencia, es decir, a*x^n
  • l es logaritmo, es decir, ln(x)
  • e es exponencial, es decir, exp(x)
  • a es la suma, es decir, f(x)+g(x)
  • m es la multiplicación es decir, f(x)*g(x)

Uso: por ejemplo, exp(ln(x)+3x^2) se representaría como e(l()+p(3,2)) . Deje x=e(l()+p(3,2)) . Para encontrar su derivada, llame a x(1) . Para encontrar su resultado cuando se evalúa en 1 , llame a x(0) .

Bonus: diferenciación simbólica

1 comments
Funky Computer Man 07/03/2017
Puede guardar una gran cantidad de bytes utilizando la compresión exec . ¡Pruébalo en línea!

HighResolutionMusic.com - Download Hi-Res Songs

1 (G)I-DLE

POP/STARS flac

(G)I-DLE. 2018. Writer: Riot Music Team;Harloe.
2 Ariana Grande

​Thank U, Next flac

Ariana Grande. 2018. Writer: Crazy Mike;Scootie;Victoria Monét;Tayla Parx;TBHits;Ariana Grande.
3 Imagine Dragons

Bad Liar flac

Imagine Dragons. 2018. Writer: Jorgen Odegard;Daniel Platzman;Ben McKee;Wayne Sermon;Aja Volkman;Dan Reynolds.
4 Clean Bandit

Baby flac

Clean Bandit. 2018. Writer: Jack Patterson;Kamille;Jason Evigan;Matthew Knott;Marina;Luis Fonsi.
5 Backstreet Boys

Chances flac

Backstreet Boys. 2018.
6 BTS

Waste It On Me flac

BTS. 2018. Writer: Steve Aoki;Jeff Halavacs;Ryan Ogren;Michael Gazzo;Nate Cyphert;Sean Foreman;RM.
7 Fitz And The Tantrums

HandClap flac

Fitz And The Tantrums. 2017. Writer: Fitz And The Tantrums;Eric Frederic;Sam Hollander.
8 BlackPink

Kiss And Make Up flac

BlackPink. 2018. Writer: Soke;Kny Factory;Billboard;Chelcee Grimes;Teddy Park;Marc Vincent;Dua Lipa.
9 Lady Gaga

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
10 Diplo

Close To Me flac

Diplo. 2018. Writer: Ellie Goulding;Savan Kotecha;Peter Svensson;Ilya;Swae Lee;Diplo.
11 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
12 Imagine Dragons

Machine flac

Imagine Dragons. 2018. Writer: Wayne Sermon;Daniel Platzman;Dan Reynolds;Ben McKee;Alex Da Kid.
13 Little Mix

The Cure flac

Little Mix. 2018. Writer: Pete Kelleher;Camille Purcell;Tom Barnes;Ben Kohn.
14 Bradley Cooper

Always Remember Us This Way flac

Bradley Cooper. 2018. Writer: Lady Gaga;Dave Cobb.
15 Calum Scott

No Matter What flac

Calum Scott. 2018. Writer: Toby Gad;Calum Scott.
16 Frida Sundemo

Apologize flac

Frida Sundemo. 2018.
17 Little Mix

Woman Like Me flac

Little Mix. 2018. Writer: Nicki Minaj;Steve Mac;Ed Sheeran;Jess Glynne.
18 Kelly Clarkson

Never Enough flac

Kelly Clarkson. 2018. Writer: Benj Pasek;Justin Paul.
19 Ashley Tisdale

Voices In My Head flac

Ashley Tisdale. 2018. Writer: John Feldmann;Ashley Tisdale.
20 Haley Reinhart

Something Strange flac

Haley Reinhart. 2018.

Related questions

Hot questions

Language

Popular Tags