Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

Как подсчитать сумму 1+1/1!+1/2!+1/3!+...   Найти похожие ветки 

 
Zagaevskiy ©   (2007-06-05 17:27) [0]

то есть я знаю, что это exp(1) или e. Знаю, что
е=2,718281828459045..., но я хочу посчитать с точностью 20-25 цифр за запятой, и не знаю, как это сделать (то есть программно) считать в ручную - абсурд.


 
Rial ©   (2007-06-05 17:40) [1]

Если проблема в том, что тебе не хватает точности Extended,
то можно реализовать с помощью вычисления "в столбик", храня
цифры в массивах поразрядно, или немного сжатом виде.
Производительность будет ужасной, но если это того стоит -
то почему бы и нет.
Нужно всего лишь реализовать беззнаковое сложение и деление,
как это делают обычно люди на бумаге.


 
Romkin ©   (2007-06-05 17:45) [2]

производительность ужасной не будет, если подумать и писать в массив только достоверные цифры ;)
Можно и не в массив, а сразу в файл - тогда будет считать, считать, считать...


 
Desdechado ©   (2007-06-05 17:49) [3]

И помнить, что от перемены мест слагаемых сумма меняется.
Суммирование нужно начинать с меньшего (по модулю) члена ряда.


 
Zagaevskiy ©   (2007-06-05 18:20) [4]


> Desdechado ©   (05.06.07 17:49) [3]
> И помнить, что от перемены мест слагаемых сумма меняется.
>
> Суммирование нужно начинать с меньшего (по модулю) члена
> ряда.

А как я узнаю меньший член ряда? Ведь ряд бесконечен, а когда будет достигнута нужная точность я не знаю.
И почему это сумма меняется - обьясните, буду рад.

О массиве я думал - опыт в принципе есть. Считал 2^n ,n > 100 и числа Фибоначчи до 32000 числа. Писал в Turbo Pascal 7 пару лет назад.


 
Inco   (2007-06-05 19:28) [5]

Вот число E:

http://abrau.durso.googlepages.com/e_10m.txt
(Осторожно, траффик!)

Первоисточник:
http://abrau.durso.googlepages.com/mathematicalconstants


 
Vlad Oshin ©   (2007-06-05 20:01) [6]


> А как я узнаю меньший член ряда?

посчитай
если точность до 10 знака, надо (любым методом) найти такой член, который не будет влиять на дальнейшую точность.
т.е. первая значащая цифра - вне точности

> когда будет достигнута нужная точность я не знаю

х возмем сразу много, проверим, будет ли 1/х! вне точности
если да, разделим х на 2 и повторим.


 
palva ©   (2007-06-05 20:11) [7]

Если очередной член меньше половины предыдущего (а в данном случае это выполняется начиная со третьего члена), то частная сумма отличается от суммы не больше чем на удвоенный последний член. То есть, если вы хотите посчитать, например, с точностью 0.0001, то можете суммировать до тех пор, пока очередной член не станет меньше 0.00005.


 
Zagaevskiy ©   (2007-06-06 10:21) [8]


>
> Inco   (05.06.07 19:28) [5]
> Вот число E:
>
> http://abrau.durso.googlepages.com/e_10m.txt

Собственно, мне нужно не только число Е , но и метод с помощью которого можно решать подобные задачи.

Если есть ещё предложения прошу высказывать.
ЗЫ Я так и не понял, почему :
> от перемены мест слагаемых сумма меняется.
> Суммирование нужно начинать с меньшего (по модулю) члена
> ряда


 
palva ©   (2007-06-06 11:38) [9]


> Я так и не понял, почему :
> > от перемены мест слагаемых сумма меняется.

Это проявляется, если числа представлены в формате с плавающей точкой.
Но вам потребуется самому реализовать формат числа с большим числом значащих цифр. Вряд ли вы будете при этом реализовывать формат с плавающей точкой - это слишком сложно. Вы наверно возьмете фиксированное число цифр после запятой, и с такими числами будете работать. В этом случае вам будет все равно, в каком порядке складывать члены.


 
Vendict ©   (2007-06-06 16:20) [10]

FGInt ?
или что-то с ним связанное .....



Страницы: 1 вся ветка

Текущий архив: 2007.07.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
2-1181016283
mrFreeman
2007-06-05 08:04
2007.07.08
Перевод из TStrings в String и чтение строки из TListBox


5-1156231502
nali
2006-08-22 11:25
2007.07.08
Сохранение и загрузка свойства в файл в рантайме


2-1181800938
Alvin
2007-06-14 10:02
2007.07.08
Отлов ошибок SQLconnection


4-1170068464
Nebiyev
2007-01-29 14:01
2007.07.08
Запись на CD


1-1178293982
ins
2007-05-04 19:53
2007.07.08
[ComboBox] Фон для элементов при открытии