"""
1. Проанализировать скорость и сложность одного любого алгоритма,
разработанных в рамках домашнего задания первых трех уроков.
Примечание: попробуйте написать несколько реализаций алгоритма и сравнить их.
"""
import timeit

# Выбрал задание №4 из урока №2

def count(base, num):
    if num == 0:
        return base
    else:
        return base + count(base / (-2), num - 1)


print(timeit.timeit("count(1,10)", setup="from __main__ import count"))

# Сложно определить сложность реккурсивной функции но по идее О(n), где n - количество вызовов