找回密码
 欢迎注册
查看: 9920|回复: 7

[擂台] 圆周率计算器

[复制链接]
发表于 2015-12-6 13:49:59 | 显示全部楼层 |阅读模式

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

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

×
完全由我自己编的一个圆周率计算器。控制台程序,运行在x64架构windows系统下,需要 vc redist 2012 支持(否则会提醒什么 MSVCR110.dll 找不到,找不到就下个 vc redist 2012 x86 & x64)。
至多可以计算圆周率到2.68亿(256M)位。其实更多也可以,但我的机子内存不够,没试过。
比不上现在比较有名的圆周率计算软件,但也算我的努力成果了。

圆周率计算器_x64.rar

67.61 KB, 下载次数: 29, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

点评

不错,赞一个! 我比较感兴趣的是,你的算法时间复杂度是多少? 假设计算$N$位所需的计算量是$f(N)$,那么$f(N)$是一个什么样的函数?  发表于 2015-12-6 15:36
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2015-12-7 08:11:05 | 显示全部楼层
@KeyTo9_Fans
据说复杂度是O(N (lnN) ^3),但事实是多少我没有太在意过。总之肯定优于O(N^a), a>1 这样的。

点评

厉害!原来复杂度这么低,难怪可以算到亿位。我也编过计算圆周率的程序,但由于复杂度是$O(N^2)$的,短时间内只能算出几万位。  发表于 2015-12-7 11:20
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2015-12-7 13:20:45 | 显示全部楼层
如果大数乘法的复杂度提 M(P),p是精度。那么使用AGM(superPI使用的算法)算法,计算圆周率的算法的复杂度是ln(p)*M(p)

点评

然而事实上,AGM复杂度虽然为O(N (lnN)^2),是已知的最低复杂度算法,但对我们感兴趣的N,它比O(N (lnN)^3)的级数算法要慢几倍。常数很糟糕。如果你在相同电脑上运行我的程序和SuperPi,那么我比SuperPi快几倍  发表于 2015-12-7 16:55
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2015-12-7 15:06:57 | 显示全部楼层
我的是32位的,运行不了。

点评

呃……我不打算写32位版本的程序了。两种版本太麻烦……  发表于 2015-12-7 16:57
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-21 20:35 , Processed in 0.028435 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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