Чтобы получить более точные цифры, вы должны написать свой класс данных, в котором будет храниться больше цифр, скажем, 1000 цифр. Самое сложное - это написать операции +, -, *, /.
Если вам нужно просто поэкспериментировать с математической формулой, вы можете выбрать другой язык, например Python . Он имеет типы данных, такие как Decimal, Fraction
, которые могут выполнять более точные вычисления.
Я люблю математику, поэтому пишу скрипт на python для проверки формулы:
from decimal import Decimal, getcontext
prec = 100
getcontext().prec = prec
fac = Decimal(1)/2
sum = Decimal(0)
eps = Decimal(0.1)
eps = eps**prec
realE = '2.71828182845904523536028747135266249775724709369995'
i = 3
while 1:
ds = fac - fac/i
sum += ds
if ds < eps: break
fac /= i * (i+1)
i += 2
print 'After %d iteration:' % i
print realE
print str(1/sum)
Вот результат:
After 71 iteration:
2.71828182845904523536028747135266249775724709369995
2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166429