恩佐2登录 > SEO软件 > 征求n阶乘的优化算法

征求n阶乘的优化算法

admin SEO软件 2020年01月11日

  我已经用递推法做出了计算n阶乘全部有效程序的程序,但觉得速度太慢,应该存在非常高效的计算方法。新宝7恩佐登录例如,使用数学软件mathematica5.0计算100000!的每一位有效数字耗时仅1秒左右。如...

  我已经用递推法做出了计算n阶乘全部有效程序的程序,但觉得速度太慢,应该存在非常高效的计算方法。例如,使用数学软件mathematica 5.0计算100000!的每一位有效数字耗时仅1秒左右。

  很感谢飘渺世间天提供自己的代码,新宝7恩佐登录但必须指出,飘渺世间天的程序比我用链表表示数字的每一位模拟乘法硬算的程序还要慢很多。

  测试均计算所有有效数字,四种程序的结果均一致。Factorial.exe是郭先强()的HugeCalc库所附带的程序,运算速度已经远超过了Mathematica 5.0 !

  非常感谢milksea提供的网站,我试用了郭先强开发的大整数算法库,相当优秀!

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部这是被我初学时写的如今已我抛弃的算法, 其实也不是什么算法, 只不过类设计一个, 而且类的实现还没有完善, 因为写到一半发现我的构思有多么垃圾我就没再写下去了, 支持4294967295位有符号和无符号整数, 你可以把UBI_SIGNED给undef了对于无符号整型可能要快一点, 我也没算过100000!有没有超过这个范围, 你要算的话自己去算下看看, 我没那个时间.

  忘了说你可以去这个网站看下一个专门为理论上的无限大数做的的C++库:

  apfloat的意思是arbitrary precision float, 这个人写的算法很吊, 只能这样说, 2.6亿位的π只用几乎1秒多就出来了, 算100W!也不在话下, 用的大约是数论变换, 你要算法的话可以去参考下, 另:

  我写这个烂代码计算乘法很慢, 但计算加法还马虎, 我曾经用跌代法算Fibonacci的第10W项貌似也只用了很短的时间(感觉不长, 具体记不得了).

  1000 0000! (未测试)/(未测试)/156.656s / 77.955s

标签: seo算法