У меня была викторина в классе, и я не очень хорошо с ней справился. Я пытаюсь выяснить, может ли кто-нибудь объяснить мне, что я здесь сделал неправильно - наш профессор перегружен рабочими часами, когда мы перешли в онлайн, поэтому я решил опубликовать здесь.
def functionA(n):
level = n
total = 0
while level > 1:
for i in range(0,n):
level = level // 2
total = total + i
return total
Мой ответ: вышеупомянутая функция O (log n), потому что for
l oop делит переменную уровня пополам на каждой итерации.
Я получил 5/10 баллов, но на самом деле нет объяснения того, что было неправильно или правильно. Что я не так понял и почему?
Изображение для доказательства того, что тест уже оценен и возвращен. Просто пытаюсь понять это.
![enter image description here](https://i.stack.imgur.com/b2o53.png)