import timeit


def div11(n):
    acc, sign = 0, 1

    while n:
        n, r, sign = n // 10, n % 10, -sign
        acc += r * sign

    acc = abs(acc)
    return div11(acc) if acc >= 11 else acc == 0


def is_divisible_by_11(num):
    digits = list(str(num))
    odd = sum(map(int, digits[0::2]))
    even = sum(map(int, digits[1::2]))
    diff = abs(odd - even)
    if diff < 11:
        return diff == 0
    else:
        return is_divisible_by_11(diff)

def test1():
    for n in range(1234):
        res = div11(n)

def test2():
    for n in range(1234):
        res = is_divisible_by_11(n)

def is_divisible_by_11_human_version(x):
	return x % 11 == 0

def test3():
    for n in range(1234):
        res = is_divisible_by_11_human_version(n)

print(timeit.timeit(test1, number=1000))
print(timeit.timeit(test2, number=1000))
print(timeit.timeit(test3, number=1000))