我的问题是如何计算此操作的O符号,其中两个外部循环将为O(n ^ 3)次。我的问题是当在模式中使用modulo时o-notation将是什么,而当i是j中的因子时,内部for循环就会运行。
accounts
答案 0 :(得分:0)
是O(n^4)
。
这个的诀窍是if (j % i == 0)
。由于i
几乎为n
,而j
的范围为n^2
,因此我们知道此语句将为n + (n-1) + ... + 1
次,这将简化为{ {1}}或(n+1)(n+2)/2
,它们将运行一个运行O(n^2)
次的循环。然后,我们需要将其视为一个补充,因此我们将n^2
简化为n^3 + n^2 * n^2
。
如果我的推理出错,请指出,我有点生气。