The answer вопрос, который отмечен дубликат неправильный и не удовлетворяет моим потребностям.Ускоренные петли Python2 с XOR
Мой код предназначен для вычисления хэша из серии чисел.
Проще понять структуру в виде матрицы. Если у меня есть 16 номера начиная с 29 структура будет: (пуск = 29, длина = 4)
29, 30, 31, 32,
33, 34, 35, 36,
37, 38, 39, 40,
41, 42, 43, 44
данный алгоритм определяет хэш будет исключающее из чисел, данных жирным шрифтом:
29, 30, 31, 32,//,
33, 34, 35, //, 36,
37, 38, //, 39, 40,
41, //, 42, 43, 44
Хеш = 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, за исключением, крипта, Fcntl, ММАП, PWD, pyexpat, выберите сигнал, termios, нить, время, unicodedata, zipimport, zlib.
- Ограниченное время для вычисления.
В настоящее время вычисление параметров теста (неизвестно мне) дает мне ошибку тайм-аута.
Как можно улучшить скорость моего кода для больших значений?
Что вы пытаетесь вычислить? – khelwood
См. Http://stackoverflow.com/a/39941113/4014959 и http://stackoverflow.com/questions/10670379/find-xor-of-all-numbers-in-a-given-range –
@ PM2Ring Первый ссылка именно то, что я хотел. Спасибо. \ – sbrm1