ইউলারের সংখ্যাগুলি আউটপুট করুন


28

একটি অ-নেতিবাচক পূর্ণসংখ্যা output Ule Euler সংখ্যা ( OEIS A122045 ) আউটপুট করুনএন,এন

সমস্ত বিজোড়-সূচকযুক্ত এলারের সংখ্যা সংখ্যাগুলি নিম্নলিখিত সূত্রের সাথে গণনা করা যেতে পারে ( কাল্পনিক ইউনিটকে বোঝায়): 0আমি-1

2এন=আমিΣ=12এন+ +1Σ=0()(-1)(-2)2এন+ +12আমি

বিধি

  • এন এমন একটি অ-নেতিবাচক পূর্ণসংখ্যা হবে যে এলিউর নম্বরটি আপনার ভাষার জন্য পূর্ণসংখ্যার উপস্থাপনযোগ্য সীমার মধ্যে isএন

পরীক্ষার মামলা

0 -> 1
1 -> 0
2 -> -1
3 -> 0
6 -> -61
10 -> -50521
20 -> 370371188237525

1
@ ডনব্রাইট আপনি বন্ধনীগুলির একটি সেট মিস করছেন: wolframalpha.com/input/… - এর সাথে দুটি যোগফল উভয়ই হয় -i/2, যা -iযোগ করার পরে ফলন করে । গুন দ্বারা যে iসমষ্টি বাইরে, এবং আপনি পেতে 1
মেগো

উত্তর:


18

গণিত, 6 বাইট

EulerE

-কাশি-


9
আমি যখন শিরোনামটি দেখেছি তখনই আমি ততক্ষণে ভেবেছিলাম "অবশ্যই ম্যাথামেটিকাকে অবশ্যই এর জন্য একটি বিল্টিন থাকতে হবে"।
হাইপারনিউটারিনো

12
এটি প্রতিটি শিরোনামের জন্য প্রযোজ্য ... এমনকি চিত্রগুলিতে ছাগল সনাক্ত করতে
লুইস মেন্ডো

GoatImageQunderappreciated হয়
গ্রেগ মার্টিন

1
আপনি এই ব্যাখ্যা করতে পারেন? সম্পাদনা: এটি একটি রসিকতা ছিল।
ম্যাজিক অক্টোপাস উরন

13

জে , 10 বাইট

(1%6&o.)t:

এটি অনলাইন চেষ্টা করুন!

সূচকীয় উত্পাদনকারী ফাংশন সেক (এক্স) এর সংজ্ঞা ব্যবহার করে।


জে জেনারেটিং ফাংশন পেতে প্রতীকী বিশ্লেষণ করে? এটি n = 30 এর জন্যও ভাসমান পয়েন্ট ত্রুটির মধ্যে চলে না।
orlp

@ অরલ્પ আমি অভ্যন্তরীণভাবে এটি কী করে তা নিশ্চিত নই, তবে জে ক্রিয়াকলাপের সাবসেটের জন্য টেলর সিরিজটি জানেন । কোন ফাংশন আপনি ঐ ক্রিয়ার একটি সমন্বয় ব্যবহার করে বর্ণনা করতে পারেন জন্য কার্যকর থাকবে t.বা t:যেখানে জিএফ এবং egf একটি অদ্ভুত দয়া করে মনে রাখবেন কষা (x) এর হয় সমর্থিত নয় কিন্তু পাপ (x) এর / কোসাইন্ (x) এর হয়।
মাইল মাইল



11

ম্যাক্সিমা , 5 বাইট / 42 বাইট

ম্যাক্সিমার একটি বিল্ট ইন রয়েছে:

euler

এটি অনলাইন চেষ্টা করুন!

নীচের সমাধানটি উপরের থেকে অন্তর্নির্মিত প্রয়োজন হয় না, এবং সূত্রটি মূলত ইউলারের সংখ্যা সংজ্ঞায়িত করে।

আমরা মূলত 1/cosh(t) = sech(t)(অবধি n!) এর ধারাবাহিক প্রসারণের N-th সহগের সন্ধান করছি

f(n):=coeff(taylor(sech(x),x,0,n)*n!,x,n);

এটি অনলাইন চেষ্টা করুন!


9

ম্যাথমেটিকা, বিল্ট-ইন না করে, 18 বাইট

@ Rahnema1 এর সূত্র ব্যবহার করে :

2Im@PolyLog[-#,I]&

21 বাইট:

Sech@x~D~{x,#}/.x->0&

5

পাইথন 2.7, 46 বাইট

স্কিপি ব্যবহার করে।

from scipy.special import*
lambda n:euler(n)[n]

5

পার্ল 6 , 78 বাইট

{(->*@E {1-sum @E».&{$_*2**(@E-1-$++)*[*](@E-$++^..@E)/[*] 1..$++}}...*)[$_]}

এখান থেকে পুনরাবৃত্তি সূত্রটি ব্যবহার করে :

এন=1-Σ=0এন-1[2(এন-1-)(এন)]

কিভাবে এটা কাজ করে

সাধারণ কাঠামোটি একটি ল্যাম্বডা যেখানে একটি অসীম অনুক্রম তৈরি করা হয়, এমন একটি অভিব্যক্তি দ্বারা যা বারবার বলা হয় এবং ভেরিয়েবলের ক্রমের সমস্ত পূর্ববর্তী মানগুলি পেয়ে যায় @Eএবং তারপরে সেই ক্রমটি ল্যাম্বডা যুক্তির সাথে সূচিত হয়:

{ ( -> *@E {    } ... * )[$_] }

অনুক্রমের প্রতিটি পদক্ষেপের জন্য অভিব্যক্তিটি বলা হয়:

1 - sum @E».&{              # 1 - ∑
    $_                      # Eₙ
    * 2**(@E - 1 - $++)     # 2ⁿ⁻ˡ⁻ᵏ
    * [*](@E - $++ ^.. @E)  # (n-k-1)·...·(n-1)·n
    / [*] 1..$++            # 1·2·...·k
}


4

জাভাস্ক্রিপ্ট (নোড.জেএস) , 46 45 বাইট

F=(a,b=a)=>a?(b+~a)*F(--a,b-2)+F(a,b)*++b:+!b

এটি অনলাইন চেষ্টা করুন!

এনএফ(এন,আমি)-এফ(এন,আমি)এনএফ'(এন,আমি)=(-1)এনএফ(এন,আমি)এফএফ'

এফ'(এন,আমি)=(আমি-এন-1)এফ'(এন-1,আমি-2)+ +(আমি+ +1)এফ'(এন-1,আমি)

জাভাস্ক্রিপ্ট (নোড.জেএস) , 70 46 বাইট

F=(a,b=a)=>a?-F(--a,b)*++b+F(a,b-=3)*(a-b):+!b

এটি অনলাইন চেষ্টা করুন!

এখনও কোনও জাভাস্ক্রিপ্টের উত্তর খুঁজে না পেয়ে অবাক, তাই আমি চেষ্টা করব।

গুলি(এক্স)

ব্যাখ্যা

টিএন: =টিএকটিএনএন(টি)এসএন: =গুলিএন(টি)

এনএসটিএন=Σআমি=0এনএফ(এন,আমি)টিএন-আমিএসআমি+ +1

টিটি=এস2এসটি=-টিএস

টি(টিএকটিএস)=একটিটিএকটি-1(এস2)(এস)+ +এস-1(-টিএস)(টিএকটি)=একটিটিএকটি-1এস+ +2-টিএকটি+ +1এস

=আমি+ +1একটি=এন-আমি

টি(টিএন-আমিএসআমি+ +1)=(এন-আমি)টিএন-আমি-1এসআমি+ +3-(আমি+ +1)টিএন-আমি+ +1এসআমি+ +1=(এন-আমি)টি(এন+ +1)-(আমি+ +2)এস(আমি+ +2)+ +1-(আমি+ +1)টি(এন+ +1)-আমিএসআমি+ +1

এফ(এন,আমি)এফ(এন+ +1,আমি+ +2)এফ(এন+ +1,আমি)এফ(এন,আমি)এফ(এন-1,আমি-2)এফ(এন-1,আমি)

এফ(এন,আমি)=(এন-আমি+ +1)এফ(এন-1,আমি-2)-(আমি+ +1)এফ(এন-1,আমি)

এফ(0,0)=1এফ(0,আমি)=0আমি0

কোডের সম্পর্কিত অংশটি a?-F(--a,b)*++b+F(a,b-=3)*(a-b):+!bঠিক উপরের পুনরাবৃত্তির সূত্রটি ব্যবহার করে গণনা করছে। ব্রেকডাউন এখানে:

-F(--a,b)                // -F(n-1, i)                  [ a = n-1, b = i   ]
*++b                     // *(i+1)                      [ a = n-1, b = i+1 ]
+F(a,b-=3)               // +F(n-1, i-2)                [ a = n-1, b = i-2 ]
*(a-b)                   // *((n-1)-(i-2))              [ a = n-1, b = i-2 ]
                         // which is equivalent to *(n-i+1)

টি(0)=0এস(0)=1এনএসএন+ +1এনএসটিএনএফ(এন,এন)

এফ(0,0)এফ(এন,আমি)=0আমি<0আমিএন=0এনআমিএন0আমিএনআমি=এন+ +1এন-আমি+ +1=এন-(এন+ +1)+ +1=00আমিএনএফ(এন,আমি)=0আমি>এন

এক্সটেনশানগুলি

আরও তিনটি সম্পর্কিত ক্রম গণনা করতে কোডটি সংশোধন করা যেতে পারে:

ট্যানজেন্ট নম্বর (46 বাইট)

F=(a,b=a)=>a?F(--a,b)*++b+F(a,b-=3)*(a-b):+!~b

সিক্রেট নম্বর (45 বাইট)

F=(a,b=a)=>a?F(--a,b)*++b+F(a,b-=3)*(a-b):+!b

এলার জিগজ্যাগ নাম্বার (48 বাইট)

F=(a,b=a)=>a?F(--a,b)*++b+F(a,b-=3)*(a-b):!b+!~b

3

বেফুঞ্জ, 115 বাইট

এটি কেবল প্রথম 16 টি ইউলারের সংখ্যার (যেমন E 0 থেকে E 15 ) একটি হার্ডকোডযুক্ত সেটকে সমর্থন করে । এর বাইরে যে কোনও কিছু যাই হোক না কেন 32-বিট বেফুঞ্জের মানের সাথে খাপ খায় না।

&:2%v
v@.0_2/:
_1.@v:-1
v:-1_1-.@
_5.@v:-1
v:-1_"="-.@
_"}$#"*+.@v:-1
8**-.@v:-1_"'PO"
"0h;"3_"A+y^"9*+**.@.-*8+*:*

এটি অনলাইন চেষ্টা করুন!

আমি চ্যালেঞ্জটিতে প্রদত্ত সূত্রটির একটি সম্পূর্ণ বাস্তবায়নও করেছি, তবে এটি প্রায় দ্বিগুণ আকারের এবং এটি এখনও টিআইওর প্রথম 16 টি মানের মধ্যে সীমাবদ্ধ রয়েছে, যদিও এটি একটি 64-বিট দোভাষী রয়েছে।

<v0p00+1&
v>1:>10p\00:>20p\>010g20g2*-00g1>-:30pv>\:
_$12 0g2%2*-*10g20g110g20g-240pv^1g03:_^*
>-#1:_!>\#<:#*_$40g:1-40p!#v_*\>0\0
@.$_^#`g00:<|!`g01::+1\+*/\<
+4%1-*/+\2+^>$$10g::2>\#<1#*-#2:#\_$*\1

এটি অনলাইন চেষ্টা করুন!

এই অ্যালগরিদমের সমস্যাটি হ'ল সিরিজের মধ্যবর্তী মানগুলি মোটের তুলনায় খুব শীঘ্রই উপচে পড়ছে। 32-বিট দোভাষীতে এটি কেবল প্রথম 10 টি মান (যেমন E 0 থেকে E 9 ) পরিচালনা করতে পারে। দম্পতিরা যে দফায় দফায় ব্যাবহার করে তাদের আরও ভাল করা উচিত - পাইফুঞ্জ এবং বেফুঙ্গি কমপক্ষে E 30 পর্যন্ত পরিচালনা করতে পারে ।


1

পাইথন 2, (সিম্পি যুক্তিযুক্ত), 153 বাইট

from sympy import *
t=n+2 
print n,re(Add(*map(lambda (k,j):I**(k-2*j-1)*(k-2*j)**(n+1)*binomial(k,j)/(k*2**k),[(c/t+1,c%t) for c in range(0,t**2-t)])))

এটি অত্যন্ত সাবমোটিমাল তবে এটি বেসিক সিম্পি ফাংশনগুলি ব্যবহার করার এবং ভাসমান পয়েন্টটি এড়াতে চেষ্টা করছে। উপরে তালিকাভুক্ত মূল সূত্রে আমাকে সোজা স্থাপনের জন্য @ মেগো ধন্যবাদ Thanks আমি পাইথনের গল্ফ করার জন্য টিপস থেকে @ xnor এর "দুটি লুপগুলি একত্রিত করুন" এর মতো কিছু ব্যবহার করার চেষ্টা করেছি


1
import*বাইট সংরক্ষণ করতে আপনি (মধ্যবর্তী স্থান সরিয়ে ফেলুন) করতে পারেন। এছাড়াও, আপনার কোনও সংখ্যা কোনওভাবে ইনপুট হিসাবে নেওয়া দরকার (স্নিপেটগুলি যা ইনপুটটিকে ভেরিয়েবল হিসাবে ধরে রাখার অনুমতি নেই)।
ফ্লিপট্যাক

1

সিজেএম (34 বাইট)

{1a{_W%_,,.*0+(+W%\_,,:~.*.+}@*W=}

অনলাইন ডেমো যা ই (0) থেকে ই (19) মুদ্রণ করে। এটি একটি বেনামে ব্লক (ফাংশন)।

বাস্তবায়নটি শিয়েরু আকাশোটোর পুনরাবৃত্তি ধার করে এবং এটি আরও একবার সিজেএম বান্ধব স্টাইলে পুনর্লিখন করে, একসাথে পুরো সারিগুলিতে হেরফের করে।

ব্যবচ্ছেদ

{           e# Define a block
  1a        e#   Start with row 0: [1]
  {         e#   Loop...
    _W%     e#     Take a copy and reverse it
    _,,.*   e#     Multiply each element by its position
    0+(+    e#     Pop the 0 from the start and add two 0s to the end
    W%      e#     Reverse again, giving [0 0 (i-1)a_0 (i-2)a_1 ... a_{i-2}]
    \       e#     Go back to the other copy
    _,,:~.* e#     Multiply each element by -1 ... -i
    .+      e#     Add the two arrays
  }         e#
  @*        e#   Bring the input to the top to control the loop count
  W=        e#   Take the last element
}


0

অ্যাক্সিয়োম, 5 বাইট

euler

OEIS A122045 এর জন্য; এটি 57 বাইট

g(n:NNI):INT==factorial(n)*coefficient(taylor(sech(x)),n)

পরীক্ষার কোড এবং ফলাফল

(102) -> [[i,g(i)] for i in [0,1,2,3,6,10,20]]
   (102)
   [[0,1],[1,0],[2,- 1],[3,0],[6,- 61],[10,- 50521],[20,370371188237525]]

(103) -> [[i,euler(i)] for i in [0,1,2,3,6,10,20]]
   (103)
   [[0,1],[1,0],[2,- 1],[3,0],[6,- 61],[10,- 50521],[20,370371188237525]]

0

এপিএল (এনএআরএস), 42 টি অক্ষর, 84 বাইট

E←{0≥w←⍵:1⋄1-+/{(⍵!w)×(2*w-1+⍵)×E⍵}¨¯1+⍳⍵}

"স্মলস" থেকে দেখানো সূত্রটি অনুসরণ করুন, পরীক্ষা করুন:

  E 0
1
  E 1
0
  E 3
0
  E 6
¯61
  E 10
¯50521

শেষ কেসটি একটি বড় যুক্তিযুক্ত ফলাফল হিসাবে ফিরে আসুক কারণ আমি 20x (বড় যুক্তিযুক্ত 20/1) লিখি এবং 20 হিসাবে নয় বলে আমার মনে হয় 20.0 ভাসা 64 বিট ...

  E 20x
370371188237525 

খুব শীঘ্রই যদি কেউ 0 এ ফিরে আসে তবে এটি আরও দ্রুত হবে (50 টি অক্ষর):

  E←{0≥w←⍵:1⋄0≠2∣w:0⋄1-+/{(⍵!w)×(2*w-1+⍵)×E⍵}¨¯1+⍳⍵}
  E 30x
¯441543893249023104553682821 

যদি এটি প্রশ্নের উপর সংজ্ঞা ব্যবহৃত হয় তবে এটি আরও দ্রুত হবে (এবং এটি আরও দীর্ঘ দীর্ঘ 75 টি অক্ষর হবে):

  f←{0≥⍵:1⋄0≠2∣⍵:0⋄0J1×+/{+/⍵{⍺÷⍨(0J2*-⍺)×(⍵!⍺)×(¯1*⍵)×(⍺-2×⍵)*n}¨0..⍵}¨⍳n←1+⍵}
  f 0
1
  f 1
0
  f 3
0
  f 6
¯61J0 
  f 10
¯50521J¯8.890242766E¯9 
  f 10x
¯50521J0 
  f 20x
370371188237525J0 
  f 30x
¯441543893249023104553682821J0 
  f 40x
14851150718114980017877156781405826684425J0 
  f 400x
290652112822334583927483864434329346014178100708615375725038705263971249271772421890927613982905400870578615922728
  107805634246727371465484012302031163270328101126797841939707163099497536820702479746686714267778811263343861
  344990648676537202541289333151841575657340742634189439612727396128265918519683720901279100496205972446809988
  880945212776281115581267184426274778988681851866851641727953206090552901049158520028722201942987653512716826
  524150450130141785716436856286094614730637618087804268356432570627536028770886829651448516666994497921751407
  121752827492669601130599340120509192817404674513170334607613808215971646794552204048850269569900253391449524
  735072587185797183507854751762384660697046224773187826603393443429017928197076520780169871299768968112010396
  81980247383801787585348828625J0 

এটির উপরে ফলাফলটি একটি জটিল সংখ্যা যার কেবল আসল অংশ রয়েছে।

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