找回密码
 欢迎注册
查看: 11756|回复: 10

[原创] e小数部分的渐近分数

[复制链接]
发表于 2017-2-9 14:15:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
e小数部分的渐近分数

1

1

2

2

评分

参与人数 1金币 -20 收起 理由
gxqcn -20 第二张贴图,完全没有必要(直接文字表达即.

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-2-10 09:59:56 | 显示全部楼层
看来是正确的

管理员 liangbc 能计算100万位e.  参看 http://bbs.emath.ac.cn/thread-359-1-1.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-2-10 10:29:00 | 显示全部楼层
可通过连分数得到渐近分数,已有成熟的理论。

\(e=[2,1,2,1,1,4,1,1,6,1,1,\cdots ]\)
其不完全商的通式为:\(a_0=2, a_{3i}=a_{3i-2}=1, a_{3i-1}=2i (i=1,2,\cdots )\)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-2-10 11:46:46 | 显示全部楼层
楼主弄清连分数得到渐进分数的方法后,
下面是e的连分数前一万位,
http://oeis.org/A003417/b003417.txt
可以供楼主验算使用。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-2-10 11:51:04 | 显示全部楼层
才发现e的连分数是有规律的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-2-12 20:03:17 | 显示全部楼层
gxqcn 发表于 2017-2-10 10:29
可通过连分数得到渐近分数,已有成熟的理论。

\(e=[2,1,2,1,1,4,1,1,6,1,1,\cdots ]\)


可通过连分数得到渐近分数,已有成熟的理论。
我的这条渐近分数与众不同,逼近e的速度极快,只要稍作调整,速度会更快!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-5-20 04:12:24 | 显示全部楼层
本帖最后由 zyqjw 于 2017-5-20 04:45 编辑

经验证该算法正确。而且还得出一个结论:小数有效精度位数=分子的位数+分母的位数。
比我原先的算法速度提高40%(接近快1倍),应该还有优化的空间。
                int MaxLenth = Edit1->Text.ToIntDef(10000) + 1;//精度

                TLargeFloat a1(12194787470451LL), a2(290170412069LL),
                        b1(16977719590391LL), b2(403978495031LL), a3, b3;
                __int64 k = 46;

                try {
                        b1.SetDigitsLength(14);
                        int len = 0;
                        while (!UserStop && b1.m_Exponent.AsInt() < MaxLenth / 2) {
                                a3 = a1;
                                b3 = b1;

                                len = b1.GetDigitsLength();
                                if (len < MaxLenth) {
                                        a1.SetDigitsLength(len + 10);
                                        b1.SetDigitsLength(len + 10);
                                }
                                a1 *= k;
                                b1 *= k;
                                a1 += a2;
                                b1 += b2;

                                k += 4;
                                a2 = a3;
                                b2 = b3;
                        }
                        a1 /= b1;
                        a1 += 2;
                        a1.SetDigitsLength(MaxLenth);
                      Memo1->Text = a1.AsString();

BTCAL计算e的30万位,原先需5分37,现在3:20
原算法为:
e=1+1+1/2!+1/3!+1/4!+...+1/n!
=1+3/2!+5/4!+7/6!+9/8!...+(2n+1)/(2n)!
=5/2+26/5!+65/8!+……+(n^2+1)/n!
=...迭代直至最后一项的精度满足要求。
无标题.gif

点评

谢谢zyqjw先生!  发表于 2017-5-20 05:15
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-20 05:11:25 | 显示全部楼层
zyqjw 发表于 2017-5-20 04:12
经验证该算法正确。而且还得出一个结论:小数有效精度位数=分子的位数+分母的位数。
比我原先的算法速度提 ...

可通过连分数得到渐近分数,已有成熟的理论。
我的这条渐近分数与众不同,逼近e的速度极快,只要稍作调整,速度会更快!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-22 11:36:14 | 显示全部楼层
王守恩 发表于 2017-5-20 05:11
可通过连分数得到渐近分数,已有成熟的理论。
我的这条渐近分数与众不同,逼近e的速度极快,只要稍作调 ...

优美数字
QQ图片20170522111554.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-23 17:27 , Processed in 0.029007 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表