以下代码的最大作用域是什么? [I * I <= n]

时间:2018-10-11 16:47:06

标签: time-complexity complexity-theory code-complexity

for (k = 1; k <= n; k++)
   for (i = 1; i*i <= n; i++)
       // some O(1) operations`

要求我找到此代码的大范围。我用i*i < n计算。我可以将其重写为I < n/I。如此追踪,我得到了以下内容:

I                # of interations
1               n
2               n/2
3               n/3
.                .
.                .
.                .
n/L              1

尽管我不确定如何从这里开始。我应该计算从i = 0到n的n / i的总和吗?在那种情况下,当变量(n)存在时,我该如何计算总和?

我知道,如果找到L,我会找到所需的迭代次数。由于它在L = N / L之后终止,因此我无法根据N来计算L。

我对此很困惑。任何见识将不胜感激。

1 个答案:

答案 0 :(得分:1)

外部循环有N次迭代。内部循环具有squareroot(N)迭代。将这两个乘以找到答案。