关于异或的冷知识
一:从0开始(当然从1也行)到n每个数xor的值
1. (天真方法):
-
1-将结果初始化为0。
-
1-遍历从1到n的所有数字。
-
2-使用结果逐个执行数字的异或运算。
-
3-最后,返回结果。
2(有效方法):
-
1-通过将n与4模化,找到n的余数。
-
2-如果rem=0,则xor将与n相同。
-
3-如果rem=1,则xor将为1。
-
4-如果rem=2,那么xor将是n+1。
-
5-如果rem=3,则xor将为0
int computeXOR(int n)
{
if (n % 4 == 0)
return n;
if (n % 4 == 1)
return 1;
if (n % 4 == 2)
return n + 1;
return 0;
}