昨天我申请了计算机工程硕士学位,这是他们的问题之一。我无法解决,所以我非常好奇。
...
i = 1;
while (i <= n)
{
i = i * 2;
}
...
此循环执行多少次,请将您的答案作为公式。例如:log n ...
由于
答案 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)的函数很容易。