8
A
回答
12
欧几里得算法(计算gcd
)非常快。当从[1, n]
随机统一绘制两个数字时,计算其gcd
的平均步数为O(log n)
。每个步骤所需的平均计算时间是数字的二次方。
还有一些替代品的性能稍好些(即每个步骤在数字位数上都是次级的),但它们只对非常大的整数有效。例如参见On Schönhage's algorithm and subquadratic integer gcd computation。
7
如果您使用的分部/余料明显比班次更贵,请考虑使用binary GCD。
相关问题
- 1. 什么是最快的方法来检查给定的数组是否有数组或两个值?
- 2. 检查一个类是否定义了函数的最快方法是什么?
- 3. 检查两个Tbitmap是否相同的最快方法是什么?
- 4. 检查号码重复数字的最快方法是什么?
- 5. Tcl:什么是检查空白字符串的最快方法
- 6. 检查两个CRgn是否相交的最简单方法是什么?
- 7. 什么是最快的方式来检查一个数字是否在python的特定范围内?
- 8. 什么是检查svn工作副本是否有变化的最快方法?
- 9. 算法:什么是检查集合包含的最快方法?
- 10. 在桶中查找数字的最快方法是什么?
- 11. 检查另一个字符串是否存在的最佳方法是什么?
- 12. 检查视窗是否可见的最佳方法是什么?
- 13. 检查FileInputStream是否关闭的最佳方法是什么?
- 14. 什么是MySQL的最快的方法来检查外国REFFERENCE
- 15. 找到n个数字的gcd最快的方法是什么?
- 16. 检查两幅图像是否相同的最简单方法是什么?
- 17. 什么是检查mongodb文档存在的最快方法?
- 18. 检查SQL Server可用性的最快方法是什么?
- 19. 检查给定号码是否快乐
- 20. 检查数据库集中是否存在最快的方法
- 21. 最快的方法来检查两个阵列是否有相同的行
- 22. 检查字符串是否是bcrypt散列的最简单快捷的方法是什么?
- 23. 什么是比较两个表的最快方法?
- 24. vb.Net检查两个最大数字是什么
- 25. 什么是pythonic /更快的方式来检查自定义__getitem__方法的“关键”参数是否是切片?
- 26. 什么是确定数组是否被排序的最快方法?
- 27. 检查所有字段是否有效的最佳方法是什么?
- 28. 使用junit检查输出是否稳定的最佳方法是什么?
- 29. 什么传递给检查键是否被按下的方法?
- 30. App Engine:检查我的数据存储查询是否返回任何结果的最快方法是什么?
我想评论一下,测算算术算法的复杂性时不考虑算术运算的成本,这有点粗糙。 – 2009-09-27 12:03:11
当两个数字是斐波那契数列中的连续条目时,最差步数#也是O(log n)。 – 2009-09-27 13:26:31
@Pavel Shved:我确实考虑了成本。比照“每个步骤所需的平均计算时间是数字的二次方”。 – jason 2009-09-27 19:16:15