La séquence de Lehmer-Comtet est une séquence telle que a (n) est la n ième dérivée de f (x) = x x par rapport à x comme évalué à x = 1 .
Tâche
Prenez un entier non négatif en entrée et sortez le n ème terme de la séquence de Lehmer-Comtet.
Il s'agit de code-golf , vous devez donc minimiser la taille du fichier de votre code source.
Cas de test
Voici les premiers termes du couple dans l'ordre (copié de l'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
D[x^x,{x,#}]/.x->1&
19 octets.-1
- la séquence de OEIS commence à n = 0.Octave avec package symbolique,
3632 octetsLe code définit une fonction anonyme qui génère une variable symbolique avec le résultat.
Essayez-le en ligne!
la source
Haskell , 57 octets
Essayez-le en ligne!
Aucun intégré pour différencier ou algèbre. Les sorties flottent.
la source
Python avec SymPy ,
77755857 octets1 octet enregistré grâce à @notjagan
17 octets enregistrés grâce à @AndersKaseorg
la source
lambda n:diff('x**x','x',10).subs('x',1)
ne nécessite passympy.abc
.n
?x**x
parx^x
.SageMath ,
3332 octetsEssayez-le sur SageMathCell
la source
Python 3 , 150 octets
Essayez-le en ligne!
Complexité d'exécution exponentielle. Utilise la formule donnée dans la page OEIS.
la source
n>=r>=0
enregistre un octet.0**n
aprèssum(...)
.n<1
au lieu de0**n
Python3 + mpmath 52 octets
-3 octets, merci @Zachary T
la source
from mpmath import*
, et la seconde endiff(lambda x:x**x,1,n)
. (en supprimant simplement les espaces inutiles)Python 3 ,
288261 octetsDifférenciation sans différenciation intégrée.
Essayez-le en ligne!
Comment ça fonctionne
Chacune des cinq premières lignes définit les fonctions et leurs dérivés et leurs résultats lorsqu'ils sont évalués à
1
. Leurs dérivés sont également des fonctions.p
est le pouvoir iea*x^n
l
est le logarithme ieln(x)
e
est exponentielle c'est-à-direexp(x)
a
est l'addition ief(x)+g(x)
m
est la multiplication ief(x)*g(x)
Utilisation: par exemple,
exp(ln(x)+3x^2)
serait représenté pare(l()+p(3,2))
. Soitx=e(l()+p(3,2))
. Pour trouver sa dérivée, appelezx(1)
. Pour trouver son résultat une fois évalué à1
, appelezx(0)
.Bonus: différenciation symbolique
la source
exec
compression. Essayez-le en ligne!Pari / GP , 34 octets
Essayez-le en ligne!
la source