ई के पहले एन अंकों की गणना करें


13

चुनौती

के पहले एन (<= 10 ^ 3) अंकों की गणना करने के लिए एक कार्यक्रम लिखें ।

आपका प्रोग्राम इनपुट के रूप में पूर्णांक एन लेना चाहिए ।

इनपुट:

100

आउटपुट:

2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427

इनपुट:

7

आउटपुट:

2.718282

इनपुट:

1000

आउटपुट:

2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035

सबसे छोटा समाधान जीत!

जवाबों:


8

गणितज्ञ (12 बाइट्स)

N[E,Input[]]

आप इसे ऑनलाइन आज़मा सकते हैं: e-digitsyubnub.org पर एक कमांड है। उदाहरण के लिए, yubnub.org/parser/parse?command=e-digits+1000 जो wolframalpha wolframalpha.com/input
jfs

1
-1 क्योंकि आप अपने स्वयं के द्वारा गणना को लागू नहीं करते हैं।
फ़ूजएक्सएक्सएल

2
@FUxxxxl: लेखक ने कार्यान्वयन के लिए नहीं कहा था, केवल सबसे कम लोगों को पसंद किया जाता है।
Quixotic

7
@Quixotic प्रश्न कहता है कि "गणना" केवल आउटपुट नहीं है। यदि आपने प्रश्न "गणना" के बजाय "गणना" कहा था, तो क्या आपने वही तर्क दिया होगा?
नाइट्रो 2k01

7

अजगर, ६ ९

ई = च = n = 1; एन = इनपुट () + 2; कार्यकारी "ई + = 10 ** एन / च; च * = n; n + = 1;" * N;। print'2 '+ `e` [ 1: -4]

ई के लिए मानक शक्ति श्रृंखला के एन + 2 पुनरावृत्तियों की गणना करता है।


6

जे, 20 ... ईश।

कम्प्यूटेशनल, लेकिन ... बहुत अक्षम। एन परिभाषित (20) के साथ:

(0 j.<:n)":+/%!i.x:n+9

एक राक्षसी कार्य के रूप में (32):

ge =. 3 : '(0 j.<:y)":+/%!i.x:y+9'

एक मौन कार्य के रूप में (33, नियत):

(0 j.<:)":(+/)&:(%&!&i.&x:&(9&+))

यह बहुत तेज़ी से परिवर्तित होता है (100 अंकों के लिए आपको "बस" 70 शब्द चाहिए) ताकि आप उसे छोड़ सकें +9
आठवीं

1000 अंकों के लिए: (0 j.<:1000)":+/%!i.x:450इसमें कुछ सेकंड लगते हैं।
आठवीं

क्या आप अपने कोड की व्याख्या करना चाहेंगे?
आआआआआआआआआआआ आआआआआ

@ बारहवाँ: लेकिन मुझे N = 30 या इसके बाद तक अतिरिक्त शर्तों की आवश्यकता है। (कंपोज़ की उस गंदगी को कम करने के बारे में कोई संकेत, या यह सही है?)
जेसी मिलिकन

आह, तुम सही हो, यह दुर्भाग्यपूर्ण है। : (- यही कारण है कि "गंदगी" कुछ और की तुलना में कम है मैं के साथ आ सकता है की तरह जब तक, ज़ाहिर है बंद है, तो आप एक निश्चित संख्या मैं के लिए इस्तेमाल करते हैं। (0 j.<:n)":+/%!i.999x:, तो मौन (+/%!i.999x)":~0 j.<:)
Eelvex

5

अजगर, ६th

import decimal as d
d.getcontext().prec=input()
print d._One.exp()

3 वर्ण सहेजें? from decimal import*और दोनों को हटाएंd.
टिमटेक

@Timtech प्रमुख अंडरस्कोर के कारण import *आयात नहीं करेगा _One
jfs

ठीक है, नहीं पता था कि, माफ करना /
टिमटेक 24/16

3

05AB1E, 4 3 2 बाइट्स

पार किया 4 अभी भी नियमित 4 है ;;

एक बाइट के लिए @ अदनान को धन्यवाद।

žt

CP-1252 एन्कोडिंग का उपयोग करता है ।

स्पष्टीकरण:

žt - Push input. Pop a, push e to a places (up to 10000).

अपडेट करें:

निकालें I, जैसा žtकि इनपुट पर लगता है अगर स्टैक पर कोई नहीं है।


1
मैंने इसे गैर-प्रतिस्पर्धी के रूप में चिह्नित किया है क्योंकि इस चुनौती के पोस्ट होने के लगभग साढ़े 4 साल बाद 05AB1E बनाया गया था।
मेगो

@ ठीक है, मुझे अगली बार ऐसा करना याद होगा।
जॉर्ज गिब्सन

1
प्रोग्रामिंग पहेलियाँ और कोड गोल्फ में आपका स्वागत है! žचरित्र है 1 बाइट में सी.पी.-1252 , एन्कोडिंग तो यह 3 के बजाय 2 बाइट्स की कुल स्कोर: पृ।
अदनान

@ अदनान धन्यवाद! अच्छी भाषा, btw।
जॉर्ज गिब्सन

@GeorgeGibson धन्यवाद! :)
अदनान

2

रूबी, 68

require 'bigdecimal/math';include BigMath;puts E(gets.to_i).to_s 'F'

यह ruby1.8 पर काम नहीं करता है। यह ruby1.9 पर अवैध परिणाम का उत्पादन
JFS

आप सही हैं, लेकिन इसे रूबी 1.9 में काम करना चाहिएE फ़ंक्शन में सटीकता के साथ कुछ गलत प्रतीत होता है ।
david4dev

यहाँ ठीक लगता है, यह सिर्फ कुछ अभेद्य अंक जोड़ता है। इस तरह मेयबी? आवश्यकता'बिग्डेसिमल / मैथ '; बिगमैट डालता है :: ई (a = get.to_i) .to_s ((एफ) [0, ए + 1]
स्टेन्सलैग

1

गोल्फस्क्रिप्ट 43 41

~10\?1:b 461,{)b*:b@+\}460*;*b/`);(;'2.'\

संपादित करें: मैं ख को शुरू करने से बचे हुए 1 के साथ 0 को भी बदल सकता हूं, परिणामी अंतर इसे आउटपुट में बनाने के लिए बहुत छोटा है।

मैंने पुराने संस्करण को छोड़ दिया, जैसा कि मैंने नीचे दिया है।

~10\?1:b;0 461,{)b*:b@+\}460*;*b/`);(;'2.'\

~10\?इनपुट लें और 10 ^ इनपुट की गणना करें, परिणाम को स्टैक पर छोड़ दें।
1:b;स्टोर 1 बी में।
0 461,स्टैक पर 0 रखो, स्टैक पर ऐरे [0 1 ... 459 460] डालें।
{ }460*निष्पादित कार्य 460 बार।
)b*:bसरणी का अंतिम तत्व लें, इसे b से गुणा करें, परिणाम को b में स्टोर करें और परिणाम को स्टैक पर छोड़ दें।
@+\स्टैक के शीर्ष पर 0 (जो पहले पुनरावृत्ति पर केवल एक शून्य है) को स्विच करें, इसे बचे हुए बी मान में जोड़ें, और परिणाम को फिर से स्विच करें।
;बाकी सरणी को हटा दें (केवल [0] बचा है)।
संख्या जो 0 से प्रारंभ की गई थी, अब मान e * 460 धारण करें! और बी पकड़ ४६०!
*E * 460 द्वारा 10 ^ इनपुट गुणा करें! (वे इस बिंदु पर हैं केवल 2 तत्व स्टैक पर छोड़ दिए गए हैं)।
b/परिणाम को b से विभाजित करें।
स्टैक अब वैल्यू ई * 10 ^ इनपुट को होल्ड करता है जो एक स्ट्रिंग में परिवर्तित होने पर सभी डेसीमल पकड़ लेगा, लेकिन डॉट नहीं।
`);(;'2.'\डॉट में फिट करने के लिए स्ट्रिंग ऑपरेशन का एक गुच्छा।

ई * 460! की गणना 1 + 460 + 460 * 459 + 460 * 459 * 458 आदि के रूप में की जाती है।



0

जे, १ 17

(":&(x:^1)@*&0j1)

उदाहरण:

(":&(x:^1)@*&0j1) 50
2.71828182845891281655718620537435347047040502245993

घातांक क्रिया में निर्मित उपयोग - तो, ​​"गणना" अस्थिर आधार पर है। मूल रूप से:

^1 - computes e**1
x: - does extended precision
0jy ": - formats the number to y digit

*&0j1बस हैj.
FrownyFrog

0

जीटीबी , 14

eS?`AS;_,1,A+1

व्याख्या

e- eअंतिम गणना मूल्य के रूप में रखें

S?- eस्ट्रिंग में बदलें_

`A - इनपुट ए

S;_,1,A+1का पहला Aअंक प्रदर्शित करेंe


0

मथकड, [tbd] बाइट्स

यहाँ छवि विवरण दर्ज करें

स्पिगोट एल्गोरिथ्म का उपयोग करता है - http://comjnl.oxfordjournals.org/content/11/2/229.full.pdf+html


मैथेकड बाइट काउंट समतुल्यता के रूप में बाइट की संख्या निर्धारित नहीं की गई है। हालांकि, एक प्रतीक तुल्यता का उपयोग करते हुए यह लगभग 121 बाइट्स है ... और किसी भी संक्षिप्तता पुरस्कार जीतने के लिए नहीं जा रहा है, कोई फर्क नहीं पड़ता कि कैसे समानता निर्धारित की जाती है।


0

गणितज्ञ, 7 बाइट्स

N[E,#]&

मेरा जवाब इस जवाब का एक और गोल्फ है ।

इसे ऑनलाइन आज़माएं!

किसी कारण से, TIO पर आउटपुट मज़ेदार लगता है, लेकिन मैंने इसे अपनी मशीन पर परीक्षण किया और कोड ठीक काम करता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.