标签: loops runtime
我有一个关于while循环运行时的简短问题。 我有给定的代码:
Calculate(int n) i = n while(i > 0) i = i/2
如果n是2的幂,则执行while循环的频率。我正在修改我们在学期开始时所做的事情,我知道这并不难,但我只是不知道答案是什么。例如,如果n = 1,循环将执行一次,如果n = 2,则then循环将执行2次,如果n = 4,循环将执行3次,依此类推但我不知道如何以数学方式表达。
答案 0 :(得分:1)
此数学公式将使用binary logarithm:
log2(n)+ 1