Вызов
Напишите программу для вычисления первых N (<= 10 ^ 3) цифр e .
Ваша программа должна принимать целое число N в качестве входных данных.
Входные данные:
100
Выход:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427
Входные данные:
7
Выход:
2.718282
Входные данные:
1000
Выход:
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921817413596629043572900334295260595630738132328627943490763233829880753195251019011573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069551702761838606261331384583000752044933826560297606737113200709328709127443747047230696977209310141692836819025515108657463772111252389784425056953696770785449969967946864454905987931636889230098793127736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117301238197068416140397019837679320683282376464804295311802328782509819455815301756717361332069811250996181881593041690351598888519345807273866738589422879228499892086805825749279610484198444363463244968487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016768396424378140592714563549061303107208510383750510115747704171898610687396965521267154688957035035
Самое короткое решение побеждает!
e-digits
на yubnub.org есть команда, например, yubnub.org/parser/parse?command=e-digits+1000, которая использует wolframalpha wolframalpha.com/input/…Python, 69
Вычисляет N + 2 итерации стандартных степенных рядов для e.
источник
J, 20 ... иш.
Вычислительный, но ... Очень неэффективный. С определением n (20):
В качестве монадической функции (32):
Как молчаливая функция (33, фиксированная):
источник
+9
.(0 j.<:1000)":+/%!i.x:450
занимает всего несколько секунд.(0 j.<:n)":+/%!i.999x
, А затем молчаливо:(+/%!i.999x)":~0 j.<:
)Python, 67
источник
from decimal import*
и удалите обаd.
import *
не будет импортировать_One
из-за ведущих символов подчеркивания.05AB1E,
432 байтаВычеркнуто 4 все еще регулярно 4; (
Спасибо @Adnan за байт.
Использует CP-1252 кодировку .
Объяснение:
Обновить:
Удалить
I
, так как вžt
любом случае принимает входные данные, если в стеке нет ни одного.источник
ž
является 1 байтом в кодировке CP-1252 , поэтому он имеет общую оценку 2 байта вместо 3: p.Руби, 68
источник
GolfScript
4341Изменить: я мог бы также заменить 0 с остатком 1 от инициализации b, результирующая разница слишком мала, чтобы сделать его на выходе.
Я оставил старую версию, так как это то, что я задокументировал ниже.
~10\?
Возьмите ввод и вычислите 10 ^ ввод, оставьте результат в стеке.1:b;
Магазин 1 в б.0 461,
Поместите 0 в стек, поместите массив [0 1 ... 459 460] в стек.{ }460*
Выполните функцию 460 раз.)b*:b
Возьмите последний элемент массива, умножьте его на b, сохраните результат в b и оставьте результат в стеке.@+\
Переключите 0 (который является нулем на первой итерации) на вершину стека, добавьте его к оставшемуся значению b и снова переключите результат обратно.;
Удалите оставшуюся часть массива (осталось только [0]).Число, которое было инициализировано 0, теперь содержит значение e * 460! и б держать 460!
*
Умножьте 10 ^ ввод на e * 460! (на данный момент они являются единственными 2 элементами, оставшимися в стеке).b/
Разделите результат на б.Теперь в стеке содержится значение e * 10 ^ input, которое при преобразовании в строку будет содержать все десятичные дроби, но не точку.
`);(;'2.'\
Куча строковых операций для размещения в точке.е * 460! рассчитывается как 1 + 460 + 460 * 459 + 460 * 459 * 458 и т. д.
источник
до н.э. , 17 символов
источник
J, 17
Пример:
Использует встроенный экспоненциальный глагол - так что «вычислить» на шатких основаниях. В принципе:
источник
*&0j1
это простоj.
БРГ , 14
объяснение
e
- поставитьe
в качестве последнего рассчитанного значенияS?
- конвертироватьe
в строку_
`A
- Вход АS;_,1,A+1
Показать первыеA
цифрыe
источник
Mathcad, [tbd] байт
Использует алгоритм spigot - http://comjnl.oxfordjournals.org/content/11/2/229.full.pdf+html .
Число байтов, не указанное как эквивалентность числа байтов Mathcad, еще предстоит определить. Однако, используя символьную эквивалентность, он составляет примерно 121 байт ... и не собирается выигрывать призы за краткость, независимо от того, как определяется эквивалентность.
источник
Mathematica, 7 байтов
Мой ответ - дальнейшая игра в гольф этого ответа.
Попробуйте онлайн!
По некоторым причинам вывод в TIO выглядит забавно, но я проверил его на своей машине, и код работает просто отлично.
источник
Perl 5
-Mbignum=bexp -p
, 12 байтПопробуйте онлайн!
источник