А>>XOR всех елементов масива в результате останется искомое число
D>не совсем так. это верно если xor всех чисел от 1 до N это ноль. D>Но xor всех чисел от 1 до N равен: D>N, если N%4 == 0 D>1, если N%4 == 1 D>N+1, если N%4 == 2 D>0, если N%4 == 3
Это можно исправить добавлением или проверить только часть массива. А решение красивое.