Форум: "Прочее";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизКак подсчитать сумму 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.052 c