これは一時変数を使わず、2変数を交換するものですが、xorの性質を利用しているので、3つでも交換できます。
(x,y,z)->(y,z,x)
x = x^y^z y = x^y^z //元々のx z = x^y^z //元々のy x = x^y^z
というわけで4変数以上にも行けそうですね!(実用的では無いですが。)
これは一時変数を使わず、2変数を交換するものですが、xorの性質を利用しているので、3つでも交換できます。
(x,y,z)->(y,z,x)
x = x^y^z y = x^y^z //元々のx z = x^y^z //元々のy x = x^y^z
というわけで4変数以上にも行けそうですね!(実用的では無いですが。)