লেহমার-কমটেট ক্রম


12

Lehmer-Comtet ক্রম একটি ক্রম যেমন যে একটি (ঢ) হয় এন ম ডেরিভেটিভ চ (x) = x এর এক্স থেকে সম্মান সঙ্গে এক্স যেমন এ মূল্যায়ন এক্স = 1

কার্য

ইনপুট হিসাবে একটি অ-নেতিবাচক পূর্ণসংখ্যাটি নিয়ে যান এবং লেহমার-কমটেট ক্রমটির n ম পদটি আউটপুট দেয় ।

এটি তাই আপনার উত্স কোডের ফাইলের আকার হ্রাস করা উচিত।

পরীক্ষার কেস

OEIS 5727

এখানে প্রথম দম্পতি শর্তাবলী রয়েছে (ওইআইএস থেকে অনুলিপি করা হয়েছে)

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

হাস্কেল , 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),…] দ্বারা প্রতিনিধিত্ব করা হয়।

&অপারেটর তা বৃদ্ধি পায় পণ্যের নিয়ম ব্যবহার দুটি ফাংশন। এটা আমাদের যাও recursively ফাংশন নির্ধারণ করতে দেয় গুলি ( এক্স ) = এক্স এক্স ব্যবহার নিজেই পদ ডিফারেনশিয়াল সমীকরণ গুলি (1) = 1, গুলি '( এক্স ) = গুলি ( এক্স ) ⋅ (1 + + Ln এক্স ), যেখানে Ln এক্স = ∑ n = 1 (−1) এন - 1 ( এন - 1)! ( এক্স - 1) এন / এন !


7

গণিত, 19 বাইট

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

@ 18 থেকে কোনও গাছ নেই বাইটস


9
আমি যদি কিছু মিস করি না তবে আপনি এটিকে আরও খাটো করে পেতে পারেন:, D[x^x,{x,#}]/.x->1&19 বাইট।
একটি গাছ নয়

আসলে 21 বাইট .. তবে হ্যাঁ! অনেক খাটো!
J42161217

আমি মনে করি না যে আপনার -1এটির দরকার - ওইআইএস থেকে ক্রমটি শুরু হয় এন = 0 থেকে
একটি গাছ নয়

1
ঠিক আছে তো! 19 বাইট এটি
জে 212161217



4

সিমপাই সহ পাইথন , 77 75 58 57 বাইট

@ নোটজাগানকে ধন্যবাদ 1 বাইট সংরক্ষিত

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
অ্যান্ডারস ক্যাসরগ

1
উম্মম ... আপনি কোথায় ব্যবহার করবেন n?
জাকারি

@ জাচারি ধন্যবাদ! কাকতালীয়ভাবে আমি এন = 10 সঙ্গে অ্যান্ডার্স 'প্রস্তাব অধিকার পরীক্ষিত, তাই এটি একই ফলাফল :) এখন সংশোধন দিলেন
ঊরীয়েল

-1 প্রতিস্থাপন বাইট x**xসঙ্গে 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একটি বাইট সংরক্ষণ করে।
অ্যাডহক গার্ফ হান্টার

0**nপরে রাখার মাধ্যমে আপনি একটি বাইটও সঞ্চয় করতে পারেন sum(...)
অ্যাডহক গার্ফ হান্টার




1

পাইথন 3 + এমপিমাথ 52 বাইট

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

-3 বাইটস, ধন্যবাদ @ জাচারি টি


1
আপনার ভাষাটি পাইথন 3 + এমপিমাথে পরিবর্তন করা উচিত, যেহেতু এমপিএমথ কোনও স্ট্যান্ডার্ড লাইব্রেরি নয়।
অ্যাডহক গার্ফ হান্টার

2
আপনি আপনার প্রথম লাইনটি from mpmath import*এবং দ্বিতীয়টিতে পরিবর্তন করতে পারেন diff(lambda x:x**x,1,n)। (কেবল অপ্রয়োজনীয় জায়গাগুলি অপসারণ)
জাকারি

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সংক্ষেপণ ব্যবহার করে আপনি প্রচুর বাইট সঞ্চয় করতে পারেন । এটি অনলাইন চেষ্টা করুন!
অ্যাডহক গার্ফ হান্টার

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.