用VBA计算100000!
为什么我用VBA写的计算阶乘的程序很慢?计算100000!需要大约400秒,这正常吗,对于VB类程序? 比我牛逼多了,我只会用软件 能贴一下程序吗? 现在Basic很少用了,我这有个十几年前的,可以参考计算100000阶乘有错误,计算10000阶乘需要10秒。跟我编的计算器的性能差不多。 大数阶乘的计算(六)
十六年前我也曾写过VB系列的大数阶乘计算,供参考。
当时CSDN算法版已经在讨论如何1秒钟计算一亿或10亿的阶乘了 楼主可以研究一下郭老师16年前的算法 ,当时的配置HugeCalc计算100000!的阶乘需要0.07秒
高精度快速阶乘算法 本帖最后由 ShuXueZhenMiHu 于 2020-10-3 07:37 编辑
用Excel中的VBA做的。没有采用特殊的算法,就是硬乘。这已经是我VB编程能力的极限了。末尾的零们没有参与运算。
预估位数
long型数组存储
可以每8位一组
分解因数优化运算,尽可能多的平方运算
预存一些小数字的阶乘结果 ShuXueZhenMiHu 发表于 2020-10-3 07:36
用Excel中的VBA做的。没有采用特殊的算法,就是硬乘。这已经是我VB编程能力的极限了。末尾的零们没有参与 ...
参考一下 mathematica的结果
{10!, 1.92435*10^-6 秒 }
{100!, 6.09377*10^-6 秒 }
{1000!, 8.98029*10^-6 秒 }
{10000!, 0.000389039 秒 }
{100000!,0.0101275 秒 }
{1000000!, 0.204683 秒 }
{10000000!,3.89173 秒 }
页:
[1]