大整数的乘积(阶乘)
Multiplicaton of big integers (factorial)
我在互联网上偶然看到函数式编程语言SML允许进行任意精度的整数运算。我之前在C++上写过大整数运算,我决定(出于好奇)通过计算大数的阶乘来将我的实现与SML的实现进行比较。我发现SML程序的工作速度大约是我的15倍。我的实现使用小学的乘法算法。但据我所知,当乘法器没有太大区别时,快速算法(如FFT或Karatsuba算法)比小学乘法效果更好。在这种情况下,它们是,因为(n-1)!
比n
大得多。我的问题是SML程序运行速度如此之快的其他可能原因是什么。
三个可能的原因:
- 它使用多个CPU核心(易于测试)
- 它使用SIMD指令
- 它使用GPU(罕见,但并非闻所未闻)
相关文章:
- 在 C++ 中的数组上使用阶乘函数
- 阶乘问题在 c++ 中给出错误的输出
- 大数的阶乘给出错误的输出
- 什么模板用法在阶乘中更好
- 为什么我在C++阶乘函数中出现编译错误?
- 计算阶乘的 C++17 倍表达式中的错误
- 为什么 Lisp 中 1000 阶乘的计算如此之快(并显示正确的结果)?
- 在C++中执行 N 阶乘编译时间的 3 种不同/相同方法
- 平方模型为零,阶乘模型问题
- 阶乘元规划
- 阶乘-c++ 我想以不同的方式打印
- 阶乘函数只返回C++中输入的答案
- 阶乘使用循环递增给出垃圾值
- 大 n 表示阶乘
- 为什么我不能在非常量表达式上使用此模板阶乘函数?
- 计算最大数字的阶乘
- 在编译时计算小整数的阶乘
- 程序以查找数字的阶乘并为负整数输入提供错误消息
- 大整数的乘积(阶乘)
- 快速精确二整数阶乘