2015-05-29 120 views
1

我对while循环的运行时间有个简短的问题。 我有给定的代码:简单while循环的运行时间

Calculate(int n) 
i = n 
while(i > 0) 
    i = i/2 

如果n是2的幂,多久会的while循环执行。我正在修改我们在本学期开始时所做的一些事情,我知道这并不难,但我不知道答案如何。例如,如果n = 1,循环将被执行一次,如果n = 2,则循环将被执行2次,如果n = 4,循环将被执行3次等等,但我不知道如何以数学方式制定。

+1

提示:在每次迭代中,你砍掉的从整数一位信息。需要多少比特来表示您的初始号码? – Kusalananda

回答