Ускорьте вложенные циклы Python2 с помощью XOR

Ответ вопрос помечен как дубликат неправильный и не удовлетворяет мои потребности.

Мой код предназначен для вычисления хеша из серии чисел.

Проще понять структуру в виде матрицы. Если у меня 16 номеров, начиная с 29, структура будет: (начало = 29, длина = 4)

29, 30, 31, 32,
33, 34, 35, 36,
37, 38, 39, 40,
41, 42, 43, 44

Данный алгоритм указывает, что хеш будет XOR чисел, выделенных жирным шрифтом:

29, 30, 31, 32, //,
33, 34, 35, //, 36,
37, 38, //, 39, 40,
41, //, 42, 43, 44

Hash =29^30^31^32^33^34^35^37^38^39=54

Мой код:

def answer(start, length):
    val=0
    c=0
    for i in range(length):
        for j in range(length):
            if j < length-i:
                val^=start+c
            c+=1
    return val

Время, необходимое для вычисления больших значений, таких какanswer(2000000000,10**4) это слишком много.

Ограничения:

Py2.7.6Только стандартные библиотеки, за исключением bz2, crypt, fcntl, mmap, pwd, pyexpat, select, signal, termios, thread, time, unicodedata, zipimport, zlib.Ограниченное время для вычислений.

В настоящее время вычисление параметров теста (неизвестно мне) выдает ошибку тайм-аута.

Как можно улучшить скорость моего кода для больших значений?

Ответы на вопрос(3)

Ваш ответ на вопрос