o(1) 中的最大公因数?

Greatest Common Factor in o(1)?

注意:这不是问如何在 O(n) 中解决 GCF

您有两个整数,ni。我们如何(在伪代码中)在恒定时间内计算 GCM(n, i),其中 ni 的域为 0 -> infinity

我见过的唯一解决方案是使用递归或循环。如果可能的话,我想在固定时间内完成。

谢谢。

好吧,从技术上讲这是可能的,是的——例如,通过创建一个预先计算的结果矩阵。但由于疯狂的内存消耗,这几乎不实用。

N.B.:这个方法有一个重要的前提:

n, i ∉ [0; ∞),而是 n, i ∈ [0; M], M ∈ [0; ∞) — 即值范围任意大,但仍然固定。

否则,将 ni 读入内存的操作将是渐近线性的,使得 O(1) 甚至在理论上是不可能的。