2015-05-29 143 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

回答