gxqcn 发表于 2010-5-20 15:12:49

e的近似表达:一个令人惊讶的数字游戏

e~~(1+9^{-4^{7*6}})^{3^{2^85}}
刚才看到这个很漂亮的无理数 e 的近似表达,它恰好用到了 1到 9这 9 个数字。
猜猜看它能精确到 e 的小数点后多少位? 10 位? 100 位? 1000 位? 10000 位?


远比想象中的牛 B —— 它能精确到小数点后 61,315,266,887,768,832,673,579,363 位(误差为:–2.01E–18457734525360901453873570)!

显然,这绝对不是一个巧合。它的秘密就在于,e 事实上等于 lim(n→∞) (1 + 1/n)^n ,而 9^(4^(7·6)) 恰好就等于 3^(2^85) 。这个指数相当大,Mathematica 直接就报 Overflow 了,难怪它能精确到 e 的小数点后那么多位。

据说,这个神一般的近似表达最早来源于这里。

转自:http://www.matrix67.com/blog/archives/3265/trackback

gxqcn 发表于 2010-5-20 16:00:49

当然,下面的式子与之完全等价:
e~~(1+3^{-2^85})^{9^{4^{6*7}}}

northwolves 发表于 2010-5-20 20:31:57

这个误差怎么计算的?

gxqcn 发表于 2010-5-20 20:41:52

我估计是计算 log(3^{2^85})=2^85*log3=18457734525360901453873569.828382 得到的。
注:上述结果是我按系统自带的计算器得到的,精度有限。

无心人 发表于 2010-5-21 08:27:32

这个表达式用PARI/GP无法计算

我估计用老大的库和GMP也无法计算

很难验证

gxqcn 发表于 2010-5-21 08:51:13

如果要精确存储 18,457,734,525,360,901,453,873,570 位十进制数,
它至少需要 log_2^(10^18457734525360901453873570)=18457734525360901453873570*log_2^10=61315266887768832673579363 bits,
这是多大的数字呢? 61,315,266,887,768,832,673,579,363 ≈ 6.1 x1025
若 1G=10^9,1T=10^12,1TT=10^24,
则这个数需要 8TTB(1B=8b) 的容量进行存储,估计当前地球上已生产的存储器总容量也远小于它。
所以这个近似误差主要是靠理论推导计算出的,无法准确核实。

无心人 发表于 2010-5-21 08:54:41

:L

wayne 发表于 2010-5-21 09:13:46

x=3^(-2^85),则logx=-2^85*log3=-18457734525360901453873569.8283816056613792345736

所以,x=10^-0.8283816057*10^-18457734525360901453873569
=0.1484630555*10^-18457734525360901453873569

ln(1+x)=x-1/2x^2+1/3x^3-1/4x^4....

所以,当x很小时,
(1+x)^(1/x) 约等于e^(1-x/2+x^2/3-x^3/4+....)
即是
e-e*x/2+11ex^2/24-......其中,x=3^(-2^85)

故误差<e*x/2=0.1484630555*2.71828182846/2*10^-18457734525360901453873569

=2.0178221298164922*10^-18457734525360901453873570

无心人 发表于 2010-5-21 09:32:29

明白了,看上去很美而已

wayne 发表于 2010-5-21 09:36:32

写了这么多,简单的说,设2^85*Log 的整数部分为I,小数部分为F,那么

其中,误差<e*F/2*10^(-I)
页: [1] 2
查看完整版本: e的近似表达:一个令人惊讶的数字游戏