n=5000兆でヤコブ・ベルヌーイのeの定義は使えるか?


In [1]:
import decimal

In [2]:
decimal.Context()


Out[2]:
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])

5000兆円欲しい


In [3]:
want = decimal.Decimal(5000 * 10 ** 12)

In [4]:
want


Out[4]:
Decimal('5000000000000000')

不要かもだけど


In [5]:
one = decimal.Decimal('1')

In [6]:
one


Out[6]:
Decimal('1')

In [7]:
e = (one + one / want) ** want

In [8]:
e


Out[8]:
Decimal('2.718281828459044963532104625')

In [9]:
import math

In [10]:
math.e


Out[10]:
2.718281828459045

うーん、まあまあか

おまけ: doubleでやると


In [11]:
double_want = 5000 * 10 ** 12

In [12]:
e = (1 + 1 / double_want) ** double_want

In [13]:
e


Out[13]:
3.0350352065492636

ダメダメですね