技巧:對於兩個整數x,y,有x^x^y = x^y^x = y^x^x = y,^代表異或。異或:兩個位的值不相同,則結果爲1,如果兩個位值相同,則結果爲0。
如 2^2^3 = 2^3^2 = 3^2^2 = 2
所以其C++代碼如下:
#include <iostream>
int main()
{
int x = 2, y = 3;
x = x^y;
y = x^y;
x = x^y;
std::cout<<"x = "<<x<<" , y = "<<y<<std::endl;
return 0;
}
//輸出結果爲:x = 3 , y = 2