擂台:超大整数高精度快速算法(续2)
gxqcn 2004-10-10 05:52:48 // 本贴为
// http://community.csdn.net/Expert/topic/3049/3049738.xml 及
// http://community.csdn.net/Expert/topic/3197/3197332.xml
// 帖子的延续(因受30次回复限制而结贴)。
本人在业余时间开发了一套《超大整数完全精度快速算法库》HugeCalc,
可快速计算超大整数的加、减、乘、除(商/余)、乘方、开方,
支持任意不同进制下快速相互转换,
也可快速计算大数的 Fibonacci 数列、(双)阶乘、排列、组合等,
还可完成超大整数数组的最大公约数、最小公倍数等数论运算,
现在,该套软件已被华军、天空、电脑之家、天天等下载站点收录。
该算法库采用标准 C++ 开发,未调用任何算法库,
虽然未针对硬件作任何相应的特殊汇编优化,但其速度已非常快!
其最核心的乘法算法现已优于当前的 apfloat、Mathematica、Maple,甚至 GMP!
如计算 Fibonacci 数列的第 10,000,000 项(有 2,089,877 位),
HugeCalc 仅需 2.562s,可立即输出结果;
Mathematica 需 2.797s,不含输出(测试代码:Timing[Fibonacci[10000000];]).
计算 1,000,000 的阶乘,
HugeCalc 仅需 12.687s,
Mathematica 则需 23.265s.
因为 CSDN 是一个高手云集的地方,
所以特借这块宝地广泛征集类似算法或软件,以期达到相互促进的目的。
注:
1、HugeCalc 最新(测试)版下载地址:http://www.freewebs.com/maths/download/HugeCalc.rar
2、声明, 设此擂台的目的是为了相互促进,而非争强斗胜(其实我的计算机水平非常有限,只是比较充分地运用了数学知识而已);
3、算法或软件不限于自身原创,欢迎提供第三方链接信息,谢谢!
4、并不要求所有功能均须强于我现有的软件,有一两项也请及时告诉我,谢谢!
5、特别欢迎各种算法的讨论,本人也将在适当的时机整理出一些核心算法,以便与大家交流;
6、为了在交流中完善该软件,现决定免费公开 HugeCalc.dll 的所有接口文件!大家可以更自由地调用 HugeCalc!
HugeCalc Ver3.0.2.1(beta 版;10月18日将正式发布),已含所有公共接口文件:
http://www.freewebs.com/maths/download/HugeCalc.rar(192 KB)
(主页服务器不太稳定,有时很难下载;可直接与我联系 gxqcn@163.com)
本算法库 HugeCalc.dll Ver3.0.2.1 小巧精悍(169个公共接口,仅 52.2KB),
但其速度完全可与大型专业数学工具软件媲美!