Re: XOR
От: Andir Россия
Дата: 27.08.09 14:44
Оценка:
Здравствуйте, nikov, Вы писали:

N>Дано 4-битное беззнаковое целое число N. Надо найти XOR всех чисел от 0 до N включительно. Число N может быть настолько велико, что N итераций цикла делать слишком долго.


XOR для всех чисел от 1 до 2^N — 2 = 0 — доказывается элементарно (достаточно посмотреть на пары чисел 2^N — 2 и 1, 2^N — 3 и 2, 2^N — 4 и 3, и т.д.)
То есть, нужно найти ближайшую степень двойки и сделать XOR от 2 ^ X — 2 до N, где X целая часть от log2 N.

С Уважением, Andir!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.