Если оптимизатор действительно хорош, это O (1). Код эквивалентен просто return m
.
. Принимая его как данность, мы можем исключить условие if( n < 10 )
, потому что это n итераций, когда n мало. Мы ищем наихудший случай, когда n большое.
Это просто оставляет повторение в silly(n - 2, m)
, который отсчитывает все остальные целые числа. Это н / 2 операций. Мы опускаем константу, делая ее O (n).