while循环执行多少次?

时间:2012-06-26 12:58:15

标签: algorithm

昨天我申请了计算机工程硕士学位,这是他们的问题之一。我无法解决,所以我非常好奇。

...
i = 1;
while (i <= n)
{
    i = i * 2;
}
...

此循环执行多少次,请将您的答案作为公式。例如:log n ...

由于

1 个答案:

答案 0 :(得分:6)

在循环的x th 迭代中,i等于2 x (您可以通过归纳轻松证明这一点)。假设循环在X次迭代后停止,这意味着n <1。 2 X 。这也意味着在迭代X-1上,循环仍在运行,因此2 X-1 ≤n。换句话说:

2 X-1 ≤n<2。 2 X

从那里,找到X作为log 2 (n)的函数很容易。