Desafío
Escriba un programa para calcular los primeros N (<= 10 ^ 3) dígitos de e .
Su programa debe tomar un entero N como entrada.
Entrada:
100
Salida:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427
Entrada:
7
Salida:
2.718282
Entrada:
1000
Salida:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035
¡La solución más corta gana!
e-digits
comando en yubnub.org, por ejemplo, yubnub.org/parser/parse?command=e-digits+1000 que usa wolframalpha wolframalpha.com/input/…Python, 69
Calcula iteraciones N + 2 de la serie de potencia estándar para e.
fuente
J, 20 ... ish.
Computacional, pero ... Muy ineficiente. Con n definido (20):
Como una función monádica (32):
Como una función tácita (33, fija):
fuente
+9
.(0 j.<:1000)":+/%!i.x:450
toma solo unos segundos.(0 j.<:n)":+/%!i.999x
; A continuación, de forma tácita:(+/%!i.999x)":~0 j.<:
)Python, 67
fuente
from decimal import*
y eliminar ambosd.
import *
no importará_One
debido al guión bajo destacado.05AB1E,
432 bytesTachado 4 sigue siendo regular 4; (
Gracias a @Adnan por un byte.
Utiliza la codificación CP-1252 .
Explicación:
Actualizar:
Eliminar
I
, ya quežt
toma entrada de todos modos si no hay ninguno en la pila.fuente
ž
carácter es 1 byte en la codificación CP-1252 , por lo que tiene una puntuación total de 2 bytes en lugar de 3: p.Rubí, 68
fuente
GolfScript
4341Editar: también podría reemplazar el 0 con el sobrante 1 de la inicialización de b, la diferencia resultante es demasiado pequeña para llegar a la salida.
Dejé la versión anterior, ya que eso es lo que he documentado a continuación.
~10\?
Tome la entrada y calcule 10 ^ entrada, deje el resultado en la pila.1:b;
Almacenar 1 en b.0 461,
Ponga 0 en la pila, ponga la matriz [0 1 ... 459 460] en la pila.{ }460*
Ejecuta la función 460 veces.)b*:b
Tome el último elemento de la matriz, multiplíquelo por b, almacene el resultado en b y deje el resultado en la pila.@+\
Cambie el 0 (que es solo un cero en la primera iteración) a la parte superior de la pila, agréguelo al valor b sobrante y vuelva a cambiar el resultado.;
Elimine el resto de la matriz (solo queda [0]).¡El número que se inicializó a 0 ahora contiene el valor e * 460! yb sosten 460!
*
Multiplicar 10 ^ entrada por e * 460! (son en este punto los únicos 2 elementos que quedan en la pila).b/
Divide el resultado por b.La pila ahora contiene el valor e * 10 ^ input que cuando se convierte en una cadena contendrá todos los decimales, pero no el punto.
`);(;'2.'\
Un montón de operaciones de cadena para caber en el punto.e * 460! se calcula como 1 + 460 + 460 * 459 + 460 * 459 * 458, etc.
fuente
aC , 17 caracteres
fuente
J, 17
Ejemplo:
Usos construidos en verbos exponenciales, por lo tanto, "calcular" se basa en motivos inestables. Básicamente:
fuente
*&0j1
es simplementej.
GTB , 14
Explicación
e
- Ponere
como el último valor calculadoS?
- Convertire
a cadena_
`A
- Entrada AS;_,1,A+1
Mostrar los primerosA
dígitos dee
fuente
Mathcad, [tbd] bytes
Utiliza un algoritmo de espita: http://comjnl.oxfordjournals.org/content/11/2/229.full.pdf+html .
El recuento de bytes no se da ya que la equivalencia de recuento de bytes de Mathcad aún no se ha determinado. Sin embargo, el uso de un símbolo de equivalencia es de aproximadamente 121 bytes ... y no va a ganar ningún premio de brevedad sin importar cómo se determine la equivalencia.
fuente
Mathematica, 7 bytes
Mi respuesta es un golf adicional de esta respuesta.
Pruébalo en línea!
Por alguna razón, el resultado en TIO parece divertido, pero lo probé en mi máquina y el código funciona bien.
fuente
Perl 5
-Mbignum=bexp -p
, 12 bytesPruébalo en línea!
fuente