Desafio
Escreva um programa para calcular os primeiros N dígitos (<= 10 ^ 3) de e .
Seu programa deve usar um número inteiro N como entrada.
Entrada:
100
Resultado:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427
Entrada:
7
Resultado:
2.718282
Entrada:
1000
Resultado:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035
A solução mais curta vence!
e-digits
comando no yubnub.org, por exemplo, yubnub.org/parser/parse?command=e-digits+1000 que usa wolframalpha wolframalpha.com/input/…Python, 69
Calcula iterações N + 2 da série de potência padrão para e.
fonte
J, 20 ... ish.
Computacional, mas ... Muito ineficiente. Com n definido (20):
Como função monádica (32):
Como uma função tácita (33, fixa):
fonte
+9
.(0 j.<:1000)":+/%!i.x:450
leva apenas alguns segundos.(0 j.<:n)":+/%!i.999x
; Em seguida, tacitamente:(+/%!i.999x)":~0 j.<:
)Python, 67
fonte
from decimal import*
e remova ambosd.
import *
não será importada_One
devido ao sublinhado principal.05AB1E,
432 bytesO riscado 4 ainda é regular 4;
Obrigado a @Adnan por um byte.
Usa a codificação CP-1252 .
Explicação:
Atualizar:
Remova
I
, poisžt
recebe a entrada de qualquer maneira, se não houver nenhuma na pilha.fonte
ž
caractere tem 1 byte na codificação CP-1252 , portanto, isso tem uma pontuação total de 2 bytes em vez de 3: p.Ruby, 68
fonte
GolfScript
4341Edit: Eu também poderia substituir o 0 pelo resto 1 da inicialização b, a diferença resultante é muito pequena para chegar à saída.
Deixei a versão antiga, pois é isso que documentei abaixo.
~10\?
Tome entrada e calcule 10 ^ entrada, deixe o resultado na pilha.1:b;
Armazene 1 em b.0 461,
Coloque 0 na pilha, coloque a matriz [0 1 ... 459 460] na pilha.{ }460*
Execute a função 460 vezes.)b*:b
Pegue o último elemento da matriz, multiplique-o por b, armazene o resultado em be deixe o resultado na pilha.@+\
Alterne o 0 (que é apenas um zero na primeira iteração) para o topo da pilha, adicione-o ao valor restante de b e alterne o resultado novamente.;
Remova o restante da matriz (apenas [0] resta).O número que foi inicializado como 0 agora mantém o valor e * 460! eb segure 460!
*
Multiplique 10 ^ de entrada por e * 460! (neste momento, são os únicos 2 elementos restantes na pilha).b/
Divida o resultado por b.A pilha agora mantém o valor e * 10 ^ input que, quando convertido em uma string, retém todos os decimais, mas não o ponto.
`);(;'2.'\
Um monte de operações de string para caber no ponto.e * 460! é calculado como 1 + 460 + 460 * 459 + 460 * 459 * 458 etc.
fonte
bc , 17 caracteres
fonte
J, 17
Exemplo:
Usos construídos no verbo exponencial - assim, "computar" é por motivos instáveis. Basicamente:
fonte
*&0j1
é simplesmentej.
GTB , 14
Explicação
e
- Colocare
como o último valor calculadoS?
- Convertere
em string_
`A
- Entrada AS;_,1,A+1
Exibe os primeirosA
dígitos dee
fonte
Mathcad, [tbd] bytes
Usa um algoritmo de torneira - http://comjnl.oxfordjournals.org/content/11/2/229.full.pdf+html .
A contagem de bytes não fornecida como equivalência da contagem de bytes do Mathcad ainda está para ser determinada. No entanto, usando uma equivalência de símbolo, são aproximadamente 121 bytes ... e não ganhará nenhum prêmio de concisão, não importa como a equivalência seja determinada.
fonte
Mathematica, 7 bytes
Minha resposta é mais um golfe desta resposta.
Experimente online!
Por alguma razão, a saída do TIO parece engraçada, mas eu testei na minha máquina e o código funciona muito bem.
fonte
Perl 5
-Mbignum=bexp -p
, 12 bytesExperimente online!
fonte