o(1)中最大的共同因素?

时间:2017-04-26 18:04:50

标签: algorithm math language-agnostic

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

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

嗯,技术上这是可能的,是的 - 例如,通过创建预先计算结果的矩阵。但由于内存消耗过多,这很难实现。

N.B。:此方法有一个重要的先决条件:

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

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