标签: c++ algorithm multiplication
我偶然在互联网上看到函数式编程语言 SML 允许进行任意精度整数运算。之前我已经在 C ++ 上编写了大整数算法,我决定(好奇心)通过计算大数的阶乘来比较我的实现与 SML 。我发现 SML 程序比我的程序快15倍。我的实现使用小学乘法算法。但据我所知,当乘数不是很大时,快速算法(如FFT或Karatsuba算法)比小学乘法工作得更好。在这种情况下,它们是,因为(n-1)!远大于n。我的问题是 SML 程序运行得如此之快的其他可能原因是什么。
(n-1)!
n
答案 0 :(得分:2)
三个可能的原因: