Послідовність Лемера-Конта

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

Послідовність Леммера-Комтета є такою послідовністю, що a(n) - n й похідна від f(x) = xx по відношенню до x як оцінюється при x = 1 .

Завдання

Візьміть невід'ємне ціле число як вхід і виведіть 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 

10 Answers


Anders Kaseorg 07/03/2017.

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: f ( x ) = Σ n = 0 f ( n ) ( x - 1) n / n ! представлений [f (1), f '(1), f (1), ...].

Оператор & оператор множить дві такі функції за допомогою правила продукту. Це дозволяє нам рекурсивно визначити функцію s ( x ) = x x в термінах себе за допомогою диференціального рівняння s (1) = 1, s '( x ) = s ( x ) ⋅ (1 + ln x ), де ln x = Σ n = 1 (-1) n - 1 ( n - 1)! ( x - 1) n / n !.


Jenny_mathy 07/03/2017.

Mathematica, 19 байт

D[x^x,NO 

-18 bytes from @Not a tree

4 comments
9 Not a tree 07/03/2017
Якщо мені не вистачає чогось, ви можете отримати це набагато коротше: D[x^x,NO , 19 байт.
Jenny_mathy 07/03/2017
насправді 21 байт .. але так! набагато коротше!
Not a tree 07/03/2017
Я не думаю, що вам потрібен -1 - послідовність від OEIS починається при n = 0.
1 Jenny_mathy 07/03/2017
добре тоді! 19 байт це

Luis Mendo 07/02/2017.

Октава з символічним пакетом, 36 32 байти

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

Код визначає анонімну функцію, яка виводить символічну змінну з результатом.

Try it online!


Uriel 07/03/2017.

Python з SymPy , 77 75 58 57 байт

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) не вимагає sympy.abc .
Uriel 07/02/2017
@ АndersKaseorg спасибі!
1 Zacharý 07/02/2017
Уммм ... де ти використовуєш n
Uriel 07/02/2017
@ZacharyT спасибі! випадково я тестував пропозицію Anders прямо з n = 10, так що він дав такий же результат :) фіксована зараз
notjagan 07/03/2017
-1 байт, замінивши x**x на x^x .

xnor 07/03/2017.

Haskell , 57 байт

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

Спробуйте онлайн!

Немає вбудованих засобів для диференціювання або алгебри. Виходи плавають.


Anders Kaseorg 07/03/2017.

SageMath , 33 32 байти

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

Спробуйте це на 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)) 

Спробуйте онлайн!

Експоненціальна складність виконання. Використовує формулу, наведену на сторінці OEIS.


Bhav 07/03/2017.

Python3 + mpmath 52 байти

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

-3 байт, дякую @ Зачари Т.

2 comments
1 Funky Computer Man 07/02/2017
Ви повинні змінити мову на python3 + mpmath, оскільки mpmath не є стандартною бібліотекою.
2 Zacharý 07/02/2017
Ви можете змінити перший рядок from mpmath import* , а другий - до diff(lambda x:x**x,1,n) . (просто видалення непотрібних прогалин)

alephalpha 07/03/2017.

Pari / GP , 35 байт

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

Спробуйте онлайн!


Leaky Nun 07/03/2017.

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

Бонус: символічна диференціація

1 comments
Funky Computer Man 07/03/2017
Ви можете заощадити багато байтів, використовуючи стиснення. Спробуйте онлайн!

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 Backstreet Boys

Chances flac

Backstreet Boys. 2018.
5 Clean Bandit

Baby flac

Clean Bandit. 2018. Writer: Jack Patterson;Kamille;Jason Evigan;Matthew Knott;Marina;Luis Fonsi.
6 BTS

Waste It On Me flac

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

Kiss And Make Up flac

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

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
9 Kelly Clarkson

Never Enough flac

Kelly Clarkson. 2018. Writer: Benj Pasek;Justin Paul.
10 Fitz And The Tantrums

HandClap flac

Fitz And The Tantrums. 2017. Writer: Fitz And The Tantrums;Eric Frederic;Sam Hollander.
11 Little Mix

Told You So flac

Little Mix. 2018. Writer: Eyelar;MNEK;Raye.
12 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
13 Cher Lloyd

None Of My Business flac

Cher Lloyd. 2018. Writer: ​iamBADDLUCK;Alexsej Vlasenko;Kate Morgan;Henrik Meinke;Jonas Kalisch;Jeremy Chacon.
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 Ashley Tisdale

Voices In My Head flac

Ashley Tisdale. 2018. Writer: John Feldmann;Ashley Tisdale.
17 Imagine Dragons

Machine flac

Imagine Dragons. 2018. Writer: Wayne Sermon;Daniel Platzman;Dan Reynolds;Ben McKee;Alex Da Kid.
18 Diplo

Close To Me flac

Diplo. 2018. Writer: Ellie Goulding;Savan Kotecha;Peter Svensson;Ilya;Swae Lee;Diplo.
19 Billie Eilish

When The Party's Over flac

Billie Eilish. 2018. Writer: Billie Eilish;FINNEAS.
20 Little Mix

Woman Like Me flac

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

Related questions

Hot questions

Language

Popular Tags