Défi
Écrire un programme pour calculer les N premiers chiffres (<= 10 ^ 3) de e .
Votre programme doit prendre un entier N en entrée.
Contribution:
100
Production:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427
Contribution:
7
Production:
2.718282
Contribution:
1000
Production:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035
La solution la plus courte gagne!
e-digits
commande sur yubnub.org par exemple, yubnub.org/parser/parse?command=e-digits+1000 qui utilise wolframalpha wolframalpha.com/input/…Python, 69
Calcule N + 2 itérations de la série de puissances standard pour e.
la source
J, 20 ... ish.
Calcul, mais ... Très inefficace. Avec n défini (20):
En tant que fonction monadique (32):
En tant que fonction tacite (33, fixe):
la source
+9
.(0 j.<:1000)":+/%!i.x:450
prend que quelques secondes.(0 j.<:n)":+/%!i.999x
, Puis tacitement:(+/%!i.999x)":~0 j.<:
)Python, 67
la source
from decimal import*
et retirez les deuxd.
import *
pas en_One
raison du trait de soulignement principal.05AB1E,
432 octetsBarré 4 est toujours régulier 4; (
Merci à @Adnan pour un octet.
Utilise l' encodage CP-1252 .
Explication:
Mise à jour:
Supprimez
I
, caržt
prend quand même l'entrée s'il n'y en a pas sur la pile.la source
ž
caractère fait 1 octet dans le codage CP-1252 , ce qui donne un score total de 2 octets au lieu de 3: p.Rubis, 68
la source
GolfScript
4341Edit: je pourrais aussi bien remplacer le 0 par le 1 restant de l'initialisation de b, la différence résultante est beaucoup trop petite pour arriver à la sortie.
J'ai laissé l'ancienne version car c'est ce que j'ai documenté ci-dessous.
~10\?
Prenez l'entrée et calculez 10 ^ entrée, laissez le résultat sur la pile.1:b;
Conserver 1 dans b.0 461,
Mettez 0 sur la pile, mettez le tableau [0 1 ... 459 460] sur la pile.{ }460*
Exécutez la fonction 460 fois.)b*:b
Prenez le dernier élément du tableau, multipliez-le par b, stockez le résultat dans b et laissez le résultat sur la pile.@+\
Basculez le 0 (qui n'est qu'un zéro à la première itération) vers le haut de la pile, ajoutez-le à la valeur b restante et remettez le résultat en place.;
Supprimez le reste du tableau (il ne reste que [0]).Le nombre initialisé à 0 contient désormais la valeur e * 460! et b maintenez 460!
*
Multipliez 10 ^ par e * 460! (ils sont à ce stade les 2 seuls éléments restants sur la pile).b/
Divisez le résultat par b.La pile contient maintenant la valeur e * 10 ^ entrée qui, une fois convertie en chaîne, contiendra toutes les décimales, mais pas le point.
`);(;'2.'\
Un tas d'opérations de chaîne pour tenir dans le point.e * 460! est calculé comme 1 + 460 + 460 * 459 + 460 * 459 * 458 etc.
la source
bc , 17 caractères
la source
J, 17
Exemple:
Utilise un verbe exponentiel intégré - donc, "calculer" est sur des terrains instables. Fondamentalement:
la source
*&0j1
est tout simplementj.
GTB , 14
Explication
e
- Mettree
comme dernière valeur calculéeS?
- Convertire
en chaîne_
`A
- Entrée AS;_,1,A+1
Afficher les premiersA
chiffres dee
la source
Mathcad, [tbd] octets
Utilise un algorithme de spigot - http://comjnl.oxfordjournals.org/content/11/2/229.full.pdf+html .
Le nombre d'octets n'est pas donné car l'équivalence du nombre d'octets Mathcad reste à déterminer. Cependant, en utilisant une équivalence de symbole, elle est d'environ 121 octets ... et ne va gagner aucun prix de concision, quelle que soit la manière dont l'équivalence est déterminée.
la source
Mathematica, 7 octets
Ma réponse est un autre golf de cette réponse.
Essayez-le en ligne!
Pour une raison quelconque, la sortie sur TIO a l'air drôle, mais je l'ai testée sur ma machine et le code fonctionne très bien.
la source
Perl 5
-Mbignum=bexp -p
, 12 octetsEssayez-le en ligne!
la source