Время Сложность цикла равна O (log log n), если переменные цикла уменьшаются / увеличиваются экспоненциально на постоянную величину. Если переменная цикла делится / умножается на постоянную величину, то сложность равна O (Logn).
Например: в вашем случае значение k выглядит следующим образом. Пусть i в скобках обозначает количество выполнений цикла.
2 (0) , 2^2 (1), 2^4 (2), 2^8 (3), 2^16(4), 2^32 (5) , 2^ 64 (6) ...... till n (k) is reached.
The value of k here will be O(log log n) which is the number of times the loop has executed.
Ради предположения давайте предположим, что n
равно 2^64
. Теперь log (2^64) = 64
и log 64 = log (2^6) = 6.
Следовательно, ваша программа работала 6
раз, когда n
равен 2^64
.