Внутренний цикл выполняется от 1
(включительно) до n
(эксклюзив) в прыжках i
.Таким образом, это означает, что он будет совершать (n-1)//i
шагов.
Внешний цикл выполняет n
прогонов, где i
колеблется от 1
до n
.Мы можем немного переоценить общее количество шагов, рассчитав количество шагов как сумму:
n n
--- ---
\ n-1 \ 1
/ --- = n-1 * / ---
--- i --- i
i=1 i=1
Здесь мы можем использовать приближение Стирлинга: мы знаем, что интеграл, если 1 / i будет между суммой 1 / (i + 1) и 1 / i .
Интеграл 1 / i ,таким образом, мы приближаем это как:
n n
--- /\
\ 1 | 1
/ --- ≈ | --- dx = log(n) - log(1)
--- i \/ x
i=1 1
Таким образом, это означает, что общее количество шагов, в терминах большого ой O (n log n) .