Urutan Lehmer-Comtet adalah urutan sedemikian rupa sehingga a (n) adalah turunan ke- n dari f (x) = x x sehubungan dengan x sebagaimana dievaluasi pada x = 1 .
Tugas
Ambil integer non-negatif sebagai input dan output istilah ke- n dari urutan Lehmer-Comtet.
Ini adalah kode-golf sehingga Anda harus meminimalkan ukuran file dari kode sumber Anda.
Uji Kasus
Berikut adalah persyaratan pasangan pertama secara berurutan (disalin dari 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 byte.-1
- urutan dari OEIS dimulai dari n = 0.Oktaf dengan Paket Simbolik,
3632 byteKode mendefinisikan fungsi anonim yang menghasilkan variabel simbolik dengan hasilnya.
Cobalah online!
sumber
Haskell , 57 byte
Cobalah online!
Tidak ada built-in untuk membedakan atau aljabar. Output mengapung.
sumber
Python dengan SymPy ,
77755857 byte1 byte disimpan berkat @ notjagan
17 byte disimpan berkat @AndersKaseorg
sumber
lambda n:diff('x**x','x',10).subs('x',1)
tidak perlusympy.abc
.n
?x**x
denganx^x
.SageMath ,
3332 byteCobalah di SageMathCell
sumber
Python 3 , 150 byte
Cobalah online!
Kompleksitas runtime eksponensial. Menggunakan formula yang diberikan di halaman OEIS.
sumber
n>=r>=0
menghemat satu byte.0**n
setelahsum(...)
.n<1
alih-alih0**n
Python3 + mpmath 52 byte
-3 byte, Terima kasih @ Zakary T
sumber
from mpmath import*
, dan yang kedua menjadidiff(lambda x:x**x,1,n)
. (Hanya menghapus spasi yang tidak perlu)Python 3 ,
288261 byteDiferensiasi tanpa diferensiasi bawaan.
Cobalah online!
Bagaimana itu bekerja
Masing-masing dari lima baris pertama menentukan fungsi dan turunannya serta hasilnya ketika dievaluasi pada
1
. Turunannya juga berfungsi.p
adalah kekuatan yaitua*x^n
l
adalah logaritma yaituln(x)
e
yaitu eksponensialexp(x)
a
adalah tambahan yaituf(x)+g(x)
m
adalah multiplikasi yaituf(x)*g(x)
Penggunaan: misalnya,
exp(ln(x)+3x^2)
akan direpresentasikan sebagaie(l()+p(3,2))
. Marix=e(l()+p(3,2))
. Untuk menemukan turunannya, hubungix(1)
. Untuk menemukan hasilnya ketika dievaluasi pada1
, hubungix(0)
.Bonus: diferensiasi simbolis
sumber
exec
kompresi. Cobalah online!Pari / GP , 34 byte
Cobalah online!
sumber