ই এর আনুমানিক


21

আমরা সকলেই জানি যে ইলারের সংখ্যাটি ই দ্বারা চিহ্নিত কিছু ভেরিয়েবল এক্স এর শক্তিতে ম্যাক্লাউরিন সিরিজ সম্প্রসারণ ব্যবহার করে প্রায় অনুমান করা যায় :

ম্যাক্লাউরিন সিরিজের বিস্তৃতি ^ x

এক্স সমান 1 প্রদানের মাধ্যমে, আমরা প্রাপ্ত করি

ম্যাক্লাউরিন সিরিজের সম্প্রসারণ ই

চ্যালেঞ্জ

যে কোনও ভাষায় একটি প্রোগ্রাম লিখুন যা একটি ইনপুট এন নিয়ে এলেরারের সংখ্যার সাথে সমান হয় এবং সিরিজটি এন-তম পদে গণনা করে। মনে রাখবেন যে প্রথম পদটিতে ডিনোমিনেটর 0 !, 1 নয়!, অর্থাৎ এন = 1 1/0 এর সাথে মিল!

স্কোরিং

কমপক্ষে পরিমাণে বাইট জিততে প্রোগ্রাম।


7
Nএকটি সীমাবদ্ধ নির্ভুলতা ভাসমান পয়েন্ট নম্বর ব্যবহার করা হলে যথেষ্ট পরিমাণে দেওয়া ফলাফল একই হবে। সেই আচরণটি কি গ্রহণযোগ্য বা Nঅনন্তের দিকে যাওয়ার ফলে ফলশ্রুতিতে আরও সঠিকভাবে আসতে হবে?
FryAmTheEggman

12
কিছু পরীক্ষার কেস ঝরঝরে হবে।
লিন

7
(এই ধরণের সমস্যাটি স্যান্ডবক্সে সর্বাধিক সমাধান করা হয়েছে - আপনি যদি এখানে নিজের চ্যালেঞ্জগুলি পোস্ট করেন তবে গল্ফাররা কার্যকর প্রতিক্রিয়া জানাবে))
লিন

2
X ^ n নবম পদ বা (n + 1) ষষ্ঠ?
এমএস 210

4
আমি ব্যক্তিগতভাবে এটিকে তুচ্ছ করি, তবে এমন কিছু লোক রয়েছে যারা সূচক 0-এ এই শব্দটিকে জেরোথ শব্দ হিসাবে উল্লেখ করেন। এই বিষয়ে আমাদের মতামত থেকে স্বতন্ত্রভাবে প্রশ্নটি যতটা সম্ভব পরিষ্কার হওয়া উচিত। এছাড়াও, সমাধানগুলি সঠিকভাবে কাজ করছে তা যাচাই করার জন্য কয়েকটি পরীক্ষার কেসগুলি খুব সহায়ক হবে।
ডেনিস

উত্তর:


12

জেলি , 5 বাইট

R’!İS

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

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

R’!İS  Main link. Argument: n

R      Yield the range [1, ..., n].
 ’     Map decrement over the list.
  !    Map factorial over the list.
   İ   Map inverse over the list.
    S  Compute the sum.


6
… এবং এক মাস এবং কিছুটা পরে, জেলি রয়েছে , যা একটি [0, n) ব্যাপ্তি তৈরি করে। ^ V ^;
লিন

13

উইস্টফুল-সি - 336 বাইট

আমার প্রথম বাস্তব wistful- প্রোগ্রাম! আমি প্রথমে একটি ছোট গল্ফিং করেছি, somedayপরিবর্তে ব্যবহারের সাথে wait forপ্রথমটির দৈর্ঘ্য কম ছিল।

if only <stdio.h> were included...
if only int f were 1...
if only int N were 0...
wish for "%d",&N upon a star
if only int i were 0...
if only double e were 0...
someday i will be N...
        if only e were e+1./f...
        if only i were i+1...
        if only f were f*i...
*sigh*
wish "%f\n",e upon a star
if wishes were horses...

আমাকে বলা হয়েছিল যে আপনাকে অন্তর্ভুক্ত করার দরকার নেই<stdio.h>
লিকি নুন

কি someday i were N...পরিবর্তে কাজ someday i will be N...?
লিকি নুন


9

টিআই -৮৪ বেসিক, 12 15 14

Input N
Σ(A!⁻¹,A,0,N

টিআই একটি টোকেনাইজড ভাষা ( বাইটগুলি টোকেনের মাধ্যমে গণনা করা হয় , স্বতন্ত্র অক্ষর নয়)।


1
উদ্ধৃত মেটা পোস্টে 11 টি upvotes এবং 10 ডাউনভোট রয়েছে। এটি aকমত্য নয়। Ansকোনও বৈধ ইনপুট ফর্ম্যাট নয়, সুতরাং কেবল 15 বাইট সংস্করণটি বৈধ।
মেগো

যথেষ্ট ন্যায্য; সম্পাদনা ...
নাম নেই

1
Ansএখানে সর্বদা পিপিজি-তে ডিফল্ট ইনপুট ফর্ম্যাট হয়েছে (আমার পুরানো টিআই উত্তরগুলি দেখুন) এবং এর সাথে একমত হওয়ার চেয়ে আরও বেশি লোক সম্মত হন, সুতরাং আপনার উত্তর পরিবর্তন করার জন্য বোকা বানাবেন না।
টিমটেক

2
@ মিকলএইচ এটি এখানে বিরোধ নয়। এছাড়াও, এটি 8-বিট বাইট।
hobbs

1
@ টিমটেক যখন আমি আপনার সাথে একমত হই, সম্প্রদায়ের .কমত্যকে মেগো যা বলেছেন তা হিসাবে সংজ্ঞায়িত করা হয়েছে।
কনর ও'ব্রায়ান

9

জুলিয়া, 28 27 21 বাইট

n->sum(1./gamma(1:n))

এটি একটি বেনাম ফাংশন যা কোনও পূর্ণসংখ্যাকে গ্রহণ করে এবং একটি ফ্লোট ফেরত দেয়। এটি কল করতে, এটি একটি ভেরিয়েবলের জন্য বরাদ্দ করুন।

পদ্ধতির বিষয়টি বেশ সোজা। আমরা sum1 দ্বারা n এর মাধ্যমে 1 এর প্রতিটি গ্যামা ফাংশন দ্বারা বিভক্ত হয়েছি । এই সম্পত্তি এন এর সুবিধা নেয় ! = Γ ( এন +1)।

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

ডেনিসকে 1 বাইট এবং গ্লেন ওকে 6 ধন্যবাদ সংরক্ষণ করা হয়েছে!


ম্যাটল্যাবে প্রায় ঠিক একই:@(n)sum(1./factorial(0:n))
flawr

6

পাইথন, 36 বাইট

পাইথন 2:

f=lambda n,i=1:n/i and 1.+f(n,i+1)/i

পাইথন 3:

f=lambda n,i=1:i<=n and 1+f(n,i+1)/i

পাইথন 3 বৈকল্পিক সঙ্গে খাটো হতে পারে orপরিবর্তে and: f=lambda n,i=1:i>=n or 1+f(n,i+1)/i
কনস্ট্রাক্টর

6

ডিসি, 43 বাইট

[d1-d1<f*]sf[dlfx1r/r1-d1<e+]se1?dk1-d1<e+p

এটি সিরিজের মোটামুটি প্রত্যক্ষ অনুবাদ translation আমি চতুর হওয়ার চেষ্টা করেছি, তবে এর ফলে দীর্ঘতর কোড এসেছে।

ব্যাখ্যা

[d1-d1<f*]sf

এন> 0 এর জন্য একটি সাধারণ ফ্যাক্টরিয়াল ফাংশন

[dlfx1r/r1-d1<e+]se

এন, ..., 1 এর জন্য ফ্যাক্টরিয়াল কার্যকর করুন; বিপরীত এবং যোগফল

1?dk1-

প্রধান স্ট্যাক 1 দিয়ে; ইনপুট গ্রহণ করুন এবং একটি যথাযথ নির্ভুলতা সেট করুন

d1<e+

যদি ইনপুট 0 বা 1 হয়, আমরা কেবল এটি পাস করতে পারি, অন্যথায় আংশিক যোগফল গণনা করুন।

p

ফলাফল মুদ্রণ করুন।

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

প্রথম 100 বিস্তৃতি:

0
1
2
2.500
2.6666
2.70832
2.716665
2.7180553
2.71825394
2.718278766
2.7182815251
2.71828180110
2.718281826194
2.7182818282857
2.71828182844671
2.718281828458223
2.7182818284589936
2.71828182845904216
2.718281828459045062
2.7182818284590452257
2.71828182845904523484
2.718281828459045235331
2.7182818284590452353584
2.71828182845904523536012
2.718281828459045235360273
2.7182818284590452353602862
2.71828182845904523536028736
2.718281828459045235360287457
2.7182818284590452353602874700
2.71828182845904523536028747123
2.718281828459045235360287471339
2.7182818284590452353602874713514
2.71828182845904523536028747135253
2.718281828459045235360287471352649
2.7182818284590452353602874713526606
2.71828182845904523536028747135266232
2.718281828459045235360287471352662481
2.7182818284590452353602874713526624964
2.71828182845904523536028747135266249759
2.718281828459045235360287471352662497738
2.7182818284590452353602874713526624977552
2.71828182845904523536028747135266249775705
2.718281828459045235360287471352662497757231
2.7182818284590452353602874713526624977572453
2.71828182845904523536028747135266249775724691
2.718281828459045235360287471352662497757247074
2.7182818284590452353602874713526624977572470919
2.71828182845904523536028747135266249775724709352
2.718281828459045235360287471352662497757247093683
2.7182818284590452353602874713526624977572470936984
2.71828182845904523536028747135266249775724709369978
2.718281828459045235360287471352662497757247093699940
2.7182818284590452353602874713526624977572470936999574
2.71828182845904523536028747135266249775724709369995936
2.718281828459045235360287471352662497757247093699959554
2.7182818284590452353602874713526624977572470936999595729
2.71828182845904523536028747135266249775724709369995957475
2.718281828459045235360287471352662497757247093699959574944
2.7182818284590452353602874713526624977572470936999595749646
2.71828182845904523536028747135266249775724709369995957496673
2.718281828459045235360287471352662497757247093699959574966943
2.7182818284590452353602874713526624977572470936999595749669652
2.71828182845904523536028747135266249775724709369995957496696740
2.718281828459045235360287471352662497757247093699959574966967601
2.7182818284590452353602874713526624977572470936999595749669676254
2.71828182845904523536028747135266249775724709369995957496696762747
2.718281828459045235360287471352662497757247093699959574966967627699
2.7182818284590452353602874713526624977572470936999595749669676277220
2.71828182845904523536028747135266249775724709369995957496696762772386
2.718281828459045235360287471352662497757247093699959574966967627724050
2.7182818284590452353602874713526624977572470936999595749669676277240739
2.71828182845904523536028747135266249775724709369995957496696762772407632
2.718281828459045235360287471352662497757247093699959574966967627724076601
2.7182818284590452353602874713526624977572470936999595749669676277240766277
2.71828182845904523536028747135266249775724709369995957496696762772407663006
2.718281828459045235360287471352662497757247093699959574966967627724076630325
2.7182818284590452353602874713526624977572470936999595749669676277240766303508
2.71828182845904523536028747135266249775724709369995957496696762772407663035328
2.718281828459045235360287471352662497757247093699959574966967627724076630353518
2.7182818284590452353602874713526624977572470936999595749669676277240766303535449
2.71828182845904523536028747135266249775724709369995957496696762772407663035354729
2.718281828459045235360287471352662497757247093699959574966967627724076630353547565
2.7182818284590452353602874713526624977572470936999595749669676277240766303535475915
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759429
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594542
2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945681
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457111
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571352
2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713792
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138185
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382143
2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821752
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217826
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178492
2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785218
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852481
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525131
2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251635
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516607
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166394

1000 পদ ব্যবহার করে:

2.7182818284590452353602874713526624977572470936999595749669676277240\
766303535475945713821785251664274274663919320030599218174135966290435\
729003342952605956307381323286279434907632338298807531952510190115738\
341879307021540891499348841675092447614606680822648001684774118537423\
454424371075390777449920695517027618386062613313845830007520449338265\
602976067371132007093287091274437470472306969772093101416928368190255\
151086574637721112523897844250569536967707854499699679468644549059879\
316368892300987931277361782154249992295763514822082698951936680331825\
288693984964651058209392398294887933203625094431173012381970684161403\
970198376793206832823764648042953118023287825098194558153017567173613\
320698112509961818815930416903515988885193458072738667385894228792284\
998920868058257492796104841984443634632449684875602336248270419786232\
090021609902353043699418491463140934317381436405462531520961836908887\
070167683964243781405927145635490613031072085103837505101157477041718\
986106873969655212671546889570350116

5

জে, 10 বাইট

[:+/%@!@i.

সোজা-এগিয়ে পদ্ধতির।

ব্যাখ্যা

[:+/%@!@i.    Input: n
        i.    Creates the range [0, 1, ..., n-1]
      !@      Maps factorial to each
    %@        Map 1/x to each
[:+/          Take the sum of the values and return it

খুশী হলাম। তুচ্ছ 1 বাইট উন্নতি:1#.%@!@i.
জোনা

4

সিজেম, ১১

r~,:m!Wf#:+

অথবা

r~{m!W#}%:+

এটি অনলাইনে ব্যবহার করে দেখুন: প্রথম সংস্করণ এবং দ্বিতীয় সংস্করণ

ব্যাখ্যা:

r~= পড়ুন এবং মূল্যায়ন করুন
m!= ফ্যাকটোরিয়াল
W#= -1 পাওয়ার পর্যন্ত বাড়ান ( W= -1)
:+= অ্যারের যোগফল
প্রথম সংস্করণ [0… N-1] অ্যারে তৈরি করে এবং এর সমস্ত উপাদানগুলির সাথে ফ্যাক্টরিয়াল এবং বিপরীত প্রয়োগ করে; 2 য় সংস্করণটি প্রতিটি সংখ্যার জন্য তাত্পর্যপূর্ণ এবং বিপরীতমুখী করে তারপর এগুলিতে একটি অ্যারে রাখে।


4

জাভাস্ক্রিপ্ট ES6, 44 42 40

n=>{for(k=s=m=1;m<n;s+=k/=m++);return s}

একটি নামহীন ফাংশন এখন।

2 বাইট @ অ্যালেক্সা বাঁচানোর জন্য ধন্যবাদ এবং আরও 2 বাইটের জন্য @ লিক্যনুনকে ধন্যবাদ!


n=>{for(k=s=m=1;m<n;s+=k/=m++);return s}
ফাঁস নুন

4

এমএটিএল, 11 7 বাইট

:Ygl_^s

4 বাইট @ লুইস সুপারিশ ব্যবহার করতে ধন্যবাদ সংরক্ষিত gamma( Yg)

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

ব্যাখ্যা

        % Implicitly grab input (N)
:       % Create an array from 1...N
Yg      % Compute factorial(x-1) for each element (x) in the array
l_^     % Take the inverse
s       % Sum all elements
        % Implicitly display the result

আপনি অপসারণ করতে পারেন ]
লুইস মেন্ডো

এছাড়াও, 1i:Yg/s7 বাইট জন্য
লুইস মেন্ডো

@ লুইস মেন্ডো ওহ হ্যাঁ আমি প্রত্যাশা করছিলাম যে কোনও ফ্যাক্টরিয়াল পাওয়ার আরও ভাল উপায় আছে তবে আমি গামা সম্পর্কে ভুলে গিয়েছিলাম। শীঘ্রই আপডেট হবে
স্যুভার

4

এমএটিএল , 6 বাইট

q_t1Zh

এটি হাইপারজমেট্রিক ফাংশন ব্যবহার করে যোগফলের গুণনা করে 1 এফ 1 ( a ; b ; z ) :

এখানে চিত্র বর্ণনা লিখুন

হাইপারজেমেট্রিক ফাংশনটি কীভাবে সংজ্ঞায়িত করা হয়েছে (যা সংশোধন করা হবে) তার পার্থক্যের কারণে অক্টাভে এবং অনলাইন সংকলকটিতে কাজ করে তবে মতলব নয় not

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

ব্যাখ্যা

q_    % Take N implicitly. Compute -N+1
t     % Duplicate
1     % Push 1
Zh    % Hypergeometric function 1F1(-N+1;-N+1;1). Implicitly display

4

সি, 249 বাইট

#include <stdio.h>
#include <stdlib.h>
#define z double
z f(z x){z r=1;z n=1;while(x>0){r*=n;n++;x--;}return r;}int main(int argc, char **argv){z e=0;z p=0;z d=0;p=strtod(argv[1],NULL);while(p>0){e+=1.0d/f(d);printf("%.10f\n",e);p--;d++;}return 0;}

Ungolfed:

/* approximate e */

#include <stdio.h>
#include <stdlib.h>

double fact(double x){
    double result = 1;
    double num = 1;

    while (x > 0){
        result *= num;
        num++;
        x--;
    }
    return result;
}

int main(int argc, char **argv){
    double e = 0;
    double precision = 0;
    double denom = 0;

    precision = strtod(argv[1], NULL);
    while (precision > 0){
        e += 1.0d / fact(denom);
        printf("%.10f\n", e);
        precision--;
        denom++;
    }
    return 0;
}

পুনরাবৃত্তির সংখ্যা নির্ধারণের জন্য আর্গুমেন্ট হিসাবে একটি সংখ্যা নেয়।


হ্যালো, এবং পিপিসিজিতে আপনাকে স্বাগতম! দুর্দান্ত প্রথম পোস্ট!
নন ইনিহির

প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম! আমি মনে করি প্রোগ্রামটি শুধুমাত্র শেষ আনুমানিক প্রিন্ট করার জন্য। কমপক্ষে জিসিসির সাথে আপনার intআগের mainএবং দরকার নেই return 0। এছাড়াও, আপনি যদি এর NULLসাথে প্রতিস্থাপন করেন তবে আপনার 0অন্তর্ভুক্তগুলির দরকার নেই। argcএবং argvএকক-বর্ণের ভেরিয়েবলগুলিতে সংক্ষিপ্ত করা যায়। আপনি যদি সি তে গল্ফিং উপভোগ করেন তবে আপনি সি তে গল্ফ করার টিপস পেতে পারেন ।
ডেনিস

আইএমএইচও, যদিও সংকলক কিছু সতর্কতা ছুঁড়েছে তবে তবুও সঠিক ফলাফলটি দেয়, আপনি আপনার কোডের অনেকগুলি অংশ এমনভাবে ফেলে দিতে পারেন যে কোনও ত্রুটি ছাড়া কিছুই হ্রাস করা যায় না।
Andreï Kostyrka

এবং আপনার প্রয়োজন নেই#include <stdio.h>
লিকি নুন

3

কে (১৩ বাইট)

এর জন্য ওভারফ্লোসের বিষয় N>20

{+/%*\1,1+!x}


3

পাইকে, 10 বাইট

FSBQi^R/)s

এখানে চেষ্টা করুন!

বা 8 বাইট যদি পাওয়ার = 1 হয়

FSB1R/)s

এখানে চেষ্টা করুন!


প্রথম কোডটি 3 টিরও বেশি বন্ধ ছিল যখন আমি এটি চালিয়েছিলাম: 5.436532738095238
tox123

@ tox123 এখনই ঠিক করা হয়েছে
ব্লু

আপনি এই পরীক্ষা করছেন? আমি পেয়েছি: 7.3887125220458545 প্রথমটির জন্য, দ্বিতীয়টি আরও ভাল কাজ করে।
tox123

এটি একটি এমন একটি e x যা আপনি জানেন না কেবল ই
ব্লু

এটা চ্যালেঞ্জ নয়।
tox123



3

হাস্কেল, 37 বাইট

((scanl(+)0$(1/)<$>scanl(*)1[1..])!!)

সবচেয়ে সংক্ষিপ্ত নয়, তবে তর্কসাপটে সবচেয়ে সুন্দর।


লাইকোনির সৌজন্যে , এখানে একটি সমাধান যা 2 বাইট সংক্ষিপ্ত:

sum.(`take`((1/)<$>scanl(*)1[1..]))

λ> let f = ((scanl (+) 0 $ (1/) <$> scanl (*) 1 [1..]) !!)

λ> map f [1..5]
[1.0,2.0,2.5,2.6666666666666665,2.708333333333333]

λ> f 10
2.7182815255731922

λ> f 100
2.7182818284590455

λ> log (f 10)
0.9999998885745155

λ> log (f 100)
1.0

2
আপনি এই ইউটিএফ -8 বাইট কাউন্টারটি ব্যবহার করতে পারেন । আপনার বাইট গণনা যোগ করার জন্য আমি একটি প্রস্তাবিত সম্পাদনা রেখেছি, যা 50। একটি শিরোলেখ যোগ করার জন্য, ব্যবহার করুন: ## Language, <xxx> bytes
NoOneIsHere

1
আপনার কি সাদা স্থান দরকার?
নন ইনিহির

1
আপনি কোনও চলকটিতে ইনপুট উপস্থিত হতে পারে তা ধরে নিতে পারবেন না, সুতরাং আপনাকে প্রিপেন্ড করতে হবে f n=বা \n->একটি বৈধ ফাংশন জমা দেওয়ার দরকার আছে। যাইহোক, আমরা কয়েকটি বাইটও সংরক্ষণ (\x->1/x)করতে পারি : বিভাগটিতে সংক্ষিপ্ত করা যেতে পারে (1/), [1,2..]একইরকম [1..]এবং map(...)$হতে পারে (...)<$>। একসাথে 36 বাইট: এটি অনলাইনে চেষ্টা করুন!
লাইকনি

1
বিন্দু মুক্ত ফাংশনে রূপান্তর করা অন্য একটি বাইট সংরক্ষণ করে: অনলাইনে চেষ্টা করে দেখুন! যদিও এটি একটি বাইট দীর্ঘতর, ((scanl(+)0$(1/)<$>scanl(*)1[1..])!!)তত ভাল লাগছে ।
লাইকনি

1
আপনি যেমন দেখেছেন যে প্রথম বন্ধনী ছাড়াই সংস্করণটি তখন একটি বৈধ হাস্কেল এক্সপ্রেশন যখন এর পরে কোনও মান সন্নিবেশ করানো হয় তবে অনুমান করা হয় যে ইনপুটটিকে পূর্বনির্ধারিত ভেরিয়েবলটিতে উপস্থিত করা অনুমোদিত নয় , আপনাকে প্রথম বন্ধনী যুক্ত করতে হবে বা আবার \n->তৈরি করার জন্য একটি শীর্ষস্থানীয় থাকতে হবে একটি অনুষ্ঠান.
লাইকনি

3

এপিএল (ডায়ালগ ইউনিকোড) , 5 বাইট

⍳⊥⊢÷!

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

পাওয়া মিশ্র বেস কৌতুক ব্যবহার আমার উত্তর এর অন্য চ্যালেঞ্জ । ব্যবহারসমূহ⎕IO←0

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

⍳⊥⊢÷!  Right argument: n, the number of terms
  ⊢÷!  v: 1÷(n-1)!
      B: The array of 0 .. n-1
      Expand v to length-n array V,
       then mixed base conversion of V in base B

Base | Digit | Value
--------------------
0    | v     | v×(1×2×..×(n-1)) = 1÷0!
1    | v     | v×(2×3×..×(n-1)) = 1÷1!
2    | v     | v×(3×..×(n-1))   = 1÷2!
..   | ..    | ..
n-2  | v     | v×(n-1)          = 1÷(n-2)!
n-1  | v     | v                = 1÷(n-1)!

10 কে রেপ! এখন দেখার জন্য আমি এটি ট্যুরিং মেশিনে টানতে পারি কিনা ....
fফ্লাক করুন

উত্তম উত্তর কিন্তু আমি কীভাবে 1÷(n-1)!ডিজিট হয় তা দেখতে সমস্যা হচ্ছে ? আপনি কি জে এটিকে অনুবাদ করতে পারবেন?
জোনাহ


2

ব্র্যাচল্যাগ , 18 বাইট

:1-:0r:ef:$!a:/a+.

ব্যাখ্যা

:1-                 Subtract 1 from Input
   :0r              Create the list [0, Input - 1]
      :ef           Find all integers between 0 and Input - 1
         :$!a       Apply factorial to each member of that list
             :/a    Apply inverse to each element of that list
                +.  Unify the output with the sum of the list

2

ম্যাপেল, 18

add(1/i!,i=0..n-1)

ব্যবহার:

> f:=n->add(1/i!,i=0..n-1);
> f(1);
  1
> f(4);
  8/3

আমি মনে করি ফাংশনটি এন-> অ্যাড (1 / i!, I = 0..n-1)
রোজলুপ


2

দশ ফুট লেজার মেরু , 238 236 বাইট সহ জাভা

import sj224.tflp.math.*;interface U{static void main(String[]a){BigRational r=null,s,t;r=s=t=r.ONE;for(int n=new java.util.Scanner(System.in).nextInt()-1;n-->0;){t=t.multiply(r);s=s.add(t.pow(-1));r=r.add(r.ONE);}System.out.print(s);}}

অন্যান্য উত্তরগুলির তুলনায় বেশ ভাল ওভারফ্লো প্রতিরোধের রয়েছে। 100 পদগুলির জন্য, ফলাফলটি

31710869445015912176908843526535027555643447320787267779096898248431156738548305814867560678144006224158425966541000436701189187481211772088720561290395499/11665776930493019085212404857033337561339496033047702683574120486902199999153739451117682997019564785781712240103402969781398151364608000000000000000000000

2

জুলিয়া, 28 বাইট

~k=k<1?1:1/gamma(k+1)+~(k-1)

ব্যাখ্যা

~k=                    #Define ~ to be
    k<1                #If k is less than 1
        ?1             #to be one
        :1/gamma(k+1)  #else add the reciprocal factorial to 
            +~(k-1)    #the function applied to the predecessor value

gamma(k+1)factorial(k)ধনাত্মক পূর্ণসংখ্যার ইনপুটগুলির সমান , এবং এটিকে অবৈধিক পূর্ণসংখ্যা ছাড়া অন্য সমস্ত মানের জন্য সাধারণীকরণ করে। এটি একটি বাইট সংরক্ষণ করে, তাই কেন এটি ব্যবহার করবেন না?


1

ম্যাটল্যাব / অষ্টাভে, 22 বাইট

@(x)sum(1./gamma(1:x))

নামে একটি বেনামে ফাংশন তৈরি করে ansযা ব্যবহার করে বলা যেতে পারে ans(N)

এই দ্রষ্টব্যটি gamma(x)অ্যারের প্রতিটি উপাদানের জন্য গণনা করে [1 ... N] যা সমান factorial(x-1)। তারপরে আমরা প্রতিটি উপাদানটির বিপরীতমুখী রূপ নিই এবং সমস্ত উপাদানকে সমষ্টি করি।

অনলাইন ডেমো


1

পার্ল 5, 37 বাইট

কোনও বিজয়ী নয়, তবে দুর্দান্ত এবং সোজা:

$e=$p=1;$e+=1/($p*=$_)for 1..<>;say$e

0 থেকে 10 পর্যন্ত ইনপুটগুলির আউটপুট:

1
2
2.5
2.66666666666667
2.70833333333333
2.71666666666667
2.71805555555556
2.71825396825397
2.71827876984127
2.71828152557319
2.71828180114638


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