xor(1..n) =
switch(n % 4) {
case 0: return n;
case 1: return 1;
case 2: return n + 1;
default: return 0;
}
So you don't actually need the first loop (at least for the set of integers 1..n example), but bringing that up is probably out of scope for this article.
So you don't actually need the first loop (at least for the set of integers 1..n example), but bringing that up is probably out of scope for this article.